Index: app/properties.c
===================================================================
--- app/properties.c	(revision 3796)
+++ app/properties.c	(working copy)
@@ -131,7 +131,7 @@
       || response_id == GTK_RESPONSE_OK) {
     if ((current_obj != NULL) && (current_dia != NULL)) {
       object_add_updates(current_obj, current_dia);
-      obj_change = current_obj->ops->apply_properties(current_obj, object_part);
+      obj_change = current_obj->ops->apply_properties_from_dialog(current_obj, object_part);
       object_add_updates(current_obj, current_dia);
 
       diagram_update_connections_object(current_dia, current_obj, TRUE);
Index: objects/Istar/other.c
===================================================================
--- objects/Istar/other.c	(revision 3796)
+++ objects/Istar/other.c	(working copy)
@@ -135,11 +135,13 @@
   (MoveFunc)            other_move,
   (MoveHandleFunc)      other_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      other_get_object_menu,
   (DescribePropsFunc)   other_describe_props,
   (GetPropsFunc)        other_get_props,
-  (SetPropsFunc)        other_set_props
+  (SetPropsFunc)        other_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription other_props[] = {
Index: objects/Istar/goal.c
===================================================================
--- objects/Istar/goal.c	(revision 3796)
+++ objects/Istar/goal.c	(working copy)
@@ -141,11 +141,13 @@
   (MoveFunc)            goal_move,
   (MoveHandleFunc)      goal_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   goal_describe_props,
   (GetPropsFunc)        goal_get_props,
-  (SetPropsFunc)        goal_set_props
+  (SetPropsFunc)        goal_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription goal_props[] = {
Index: objects/Istar/actor.c
===================================================================
--- objects/Istar/actor.c	(revision 3796)
+++ objects/Istar/actor.c	(working copy)
@@ -131,11 +131,13 @@
   (MoveFunc)            actor_move,
   (MoveHandleFunc)      actor_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   actor_describe_props,
   (GetPropsFunc)        actor_get_props,
   (SetPropsFunc)        actor_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription actor_props[] = {
Index: objects/Istar/link.c
===================================================================
--- objects/Istar/link.c	(revision 3796)
+++ objects/Istar/link.c	(working copy)
@@ -141,11 +141,13 @@
   (MoveFunc)            link_move,
   (MoveHandleFunc)      link_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   link_describe_props,
   (GetPropsFunc)        link_get_props,
-  (SetPropsFunc)        link_set_props
+  (SetPropsFunc)        link_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_link_type_data[] = {
Index: objects/Jackson/requirement.c
===================================================================
--- objects/Jackson/requirement.c	(revision 3796)
+++ objects/Jackson/requirement.c	(working copy)
@@ -127,11 +127,13 @@
   (MoveFunc)            req_move,
   (MoveHandleFunc)      req_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   req_describe_props,
   (GetPropsFunc)        req_get_props,
-  (SetPropsFunc)        req_set_props
+  (SetPropsFunc)        req_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription req_props[] = {
Index: objects/Jackson/phenomenon.c
===================================================================
--- objects/Jackson/phenomenon.c	(revision 3796)
+++ objects/Jackson/phenomenon.c	(working copy)
@@ -123,11 +123,13 @@
   (MoveFunc)            message_move,
   (MoveHandleFunc)      message_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   message_describe_props,
   (GetPropsFunc)        message_get_props,
-  (SetPropsFunc)        message_set_props
+  (SetPropsFunc)        message_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_message_type_data[] = {
Index: objects/Jackson/domain.c
===================================================================
--- objects/Jackson/domain.c	(revision 3796)
+++ objects/Jackson/domain.c	(working copy)
@@ -162,11 +162,13 @@
   (MoveFunc)            jackson_box_move,
   (MoveHandleFunc)      jackson_box_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      jackson_box_get_object_menu,
   (DescribePropsFunc)   jackson_box_describe_props,
   (GetPropsFunc)        jackson_box_get_props,
-  (SetPropsFunc)        jackson_box_set_props
+  (SetPropsFunc)        jackson_box_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription box_props[] = {
Index: objects/network/radiocell.c
===================================================================
--- objects/network/radiocell.c	(revision 3796)
+++ objects/network/radiocell.c	(working copy)
@@ -107,11 +107,13 @@
   (MoveFunc)            radiocell_move,
   (MoveHandleFunc)      radiocell_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   radiocell_describe_props,
   (GetPropsFunc)        radiocell_get_props,
-  (SetPropsFunc)        radiocell_set_props
+  (SetPropsFunc)        radiocell_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription radiocell_props[] = {
Index: objects/network/wanlink.c
===================================================================
--- objects/network/wanlink.c	(revision 3796)
+++ objects/network/wanlink.c	(working copy)
@@ -94,11 +94,13 @@
   (MoveFunc)            wanlink_move,
   (MoveHandleFunc)      wanlink_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   wanlink_describe_props,
   (GetPropsFunc)        wanlink_get_props,
   (SetPropsFunc)        wanlink_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 
 };
 
Index: objects/network/bus.c
===================================================================
--- objects/network/bus.c	(revision 3796)
+++ objects/network/bus.c	(working copy)
@@ -130,11 +130,13 @@
   (MoveFunc)            bus_move,
   (MoveHandleFunc)      bus_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      bus_get_object_menu,
   (DescribePropsFunc)   bus_describe_props,
   (GetPropsFunc)        bus_get_props,
   (SetPropsFunc)        bus_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription bus_props[] = {
Index: objects/network/basestation.c
===================================================================
--- objects/network/basestation.c	(revision 3796)
+++ objects/network/basestation.c	(working copy)
@@ -115,11 +115,13 @@
   (MoveFunc)            basestation_move,
   (MoveHandleFunc)      basestation_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   basestation_describe_props,
   (GetPropsFunc)        basestation_get_props,
   (SetPropsFunc)        basestation_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription basestation_props[] = {
Index: objects/flowchart/parallelogram.c
===================================================================
--- objects/flowchart/parallelogram.c	(revision 3796)
+++ objects/flowchart/parallelogram.c	(working copy)
@@ -131,11 +131,13 @@
   (MoveFunc)            pgram_move,
   (MoveHandleFunc)      pgram_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   pgram_describe_props,
   (GetPropsFunc)        pgram_get_props,
   (SetPropsFunc)        pgram_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData text_padding_data = { 0.0, 10.0, 0.1 };
Index: objects/flowchart/box.c
===================================================================
--- objects/flowchart/box.c	(revision 3796)
+++ objects/flowchart/box.c	(working copy)
@@ -129,11 +129,13 @@
   (MoveFunc)            box_move,
   (MoveHandleFunc)      box_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   box_describe_props,
   (GetPropsFunc)        box_get_props,
   (SetPropsFunc)        box_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData corner_radius_data = { 0.0, 10.0, 0.1 };
Index: objects/flowchart/diamond.c
===================================================================
--- objects/flowchart/diamond.c	(revision 3796)
+++ objects/flowchart/diamond.c	(working copy)
@@ -130,11 +130,13 @@
   (MoveFunc)            diamond_move,
   (MoveHandleFunc)      diamond_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   diamond_describe_props,
   (GetPropsFunc)        diamond_get_props,
   (SetPropsFunc)        diamond_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData text_padding_data = { 0.0, 10.0, 0.1 };
Index: objects/flowchart/ellipse.c
===================================================================
--- objects/flowchart/ellipse.c	(revision 3796)
+++ objects/flowchart/ellipse.c	(working copy)
@@ -129,11 +129,13 @@
   (MoveFunc)            ellipse_move,
   (MoveHandleFunc)      ellipse_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   ellipse_describe_props,
   (GetPropsFunc)        ellipse_get_props,
   (SetPropsFunc)        ellipse_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData text_padding_data = { 0.0, 10.0, 0.1 };
Index: objects/SISSI/site.c
===================================================================
--- objects/SISSI/site.c	(revision 3796)
+++ objects/SISSI/site.c	(working copy)
@@ -104,11 +104,13 @@
   (MoveFunc)            object_sissi_move,
   (MoveHandleFunc)      object_sissi_move_handle,
   (GetPropertiesFunc)   object_sissi_get_properties,
-  (ApplyPropertiesFunc) object_sissi_apply_properties,
+  (ApplyPropertiesDialogFunc) object_sissi_apply_properties,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   site_describe_props,
   (GetPropsFunc)        site_get_props,
-  (SetPropsFunc)        site_set_props
+  (SetPropsFunc)        site_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription sissi_object_props[] = {
Index: objects/SISSI/faraday.c
===================================================================
--- objects/SISSI/faraday.c	(revision 3796)
+++ objects/SISSI/faraday.c	(working copy)
@@ -104,11 +104,13 @@
   (MoveFunc)            object_sissi_move,
   (MoveHandleFunc)      object_sissi_move_handle,
   (GetPropertiesFunc)   object_sissi_get_properties,
-  (ApplyPropertiesFunc) object_sissi_apply_properties,
+  (ApplyPropertiesDialogFunc) object_sissi_apply_properties,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   faraday_describe_props,
   (GetPropsFunc)        faraday_get_props,
-  (SetPropsFunc)        faraday_set_props
+  (SetPropsFunc)        faraday_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription sissi_object_props[] = {
Index: objects/SISSI/area.c
===================================================================
--- objects/SISSI/area.c	(revision 3796)
+++ objects/SISSI/area.c	(working copy)
@@ -102,11 +102,13 @@
   (MoveFunc)            object_sissi_move,
   (MoveHandleFunc)      object_sissi_move_handle,
   (GetPropertiesFunc)   object_sissi_get_properties,
-  (ApplyPropertiesFunc) object_sissi_apply_properties,
+  (ApplyPropertiesDialogFunc) object_sissi_apply_properties,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   area_describe_props,
   (GetPropsFunc)        area_get_props,
-  (SetPropsFunc)        area_set_props
+  (SetPropsFunc)        area_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription sissi_object_props[] = {
Index: objects/SISSI/room.c
===================================================================
--- objects/SISSI/room.c	(revision 3796)
+++ objects/SISSI/room.c	(working copy)
@@ -103,11 +103,13 @@
   (MoveFunc)            object_sissi_move,
   (MoveHandleFunc)      object_sissi_move_handle,
   (GetPropertiesFunc)   object_sissi_get_properties,
-  (ApplyPropertiesFunc) object_sissi_apply_properties,
+  (ApplyPropertiesDialogFunc) object_sissi_apply_properties,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   room_describe_props,
   (GetPropsFunc)        room_get_props,
-  (SetPropsFunc)        room_set_props
+  (SetPropsFunc)        room_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription generic_props[] = {
Index: objects/SISSI/sissi_object.c
===================================================================
--- objects/SISSI/sissi_object.c	(revision 3796)
+++ objects/SISSI/sissi_object.c	(working copy)
@@ -104,11 +104,13 @@
   (MoveFunc)            object_sissi_move,
   (MoveHandleFunc)      object_sissi_move_handle,
   (GetPropertiesFunc)   object_sissi_get_properties,
-  (ApplyPropertiesFunc) object_sissi_apply_properties,
+  (ApplyPropertiesDialogFunc) object_sissi_apply_properties,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   sissi_object_describe_props,
   (GetPropsFunc)        sissi_object_get_props,
-  (SetPropsFunc)        sissi_object_set_props
+  (SetPropsFunc)        sissi_object_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 /*********** facultatif  start ***************/
 static PropDescription sissi_object_props[] = {
Index: objects/Misc/analog_clock.c
===================================================================
--- objects/Misc/analog_clock.c	(revision 3796)
+++ objects/Misc/analog_clock.c	(working copy)
@@ -119,11 +119,13 @@
   (MoveFunc)            analog_clock_move,
   (MoveHandleFunc)      analog_clock_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   analog_clock_describe_props,
   (GetPropsFunc)        analog_clock_get_props,
-  (SetPropsFunc)        analog_clock_set_props
+  (SetPropsFunc)        analog_clock_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription analog_clock_props[] = {
Index: objects/SADT/box.c
===================================================================
--- objects/SADT/box.c	(revision 3796)
+++ objects/SADT/box.c	(working copy)
@@ -122,11 +122,13 @@
   (MoveFunc)            sadtbox_move,
   (MoveHandleFunc)      sadtbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      sadtbox_get_object_menu,
   (DescribePropsFunc)   sadtbox_describe_props,
   (GetPropsFunc)        sadtbox_get_props,
-  (SetPropsFunc)        sadtbox_set_props
+  (SetPropsFunc)        sadtbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData text_padding_data = { 0.0, 10.0, 0.1 };
Index: objects/SADT/annotation.c
===================================================================
--- objects/SADT/annotation.c	(revision 3796)
+++ objects/SADT/annotation.c	(working copy)
@@ -107,11 +107,13 @@
   (MoveFunc)            annotation_move,
   (MoveHandleFunc)      annotation_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   annotation_describe_props,
   (GetPropsFunc)        annotation_get_props,
-  (SetPropsFunc)        annotation_set_props
+  (SetPropsFunc)        annotation_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 #undef TEMPORARY_EVENT_TEST
Index: objects/SADT/arrow.c
===================================================================
--- objects/SADT/arrow.c	(revision 3796)
+++ objects/SADT/arrow.c	(working copy)
@@ -123,11 +123,13 @@
   (MoveFunc)            sadtarrow_move,
   (MoveHandleFunc)      sadtarrow_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      sadtarrow_get_object_menu,
   (DescribePropsFunc)   sadtarrow_describe_props,
   (GetPropsFunc)        sadtarrow_get_props,
-  (SetPropsFunc)        sadtarrow_set_props
+  (SetPropsFunc)        sadtarrow_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 PropEnumData flow_style[] = {
Index: objects/KAOS/other.c
===================================================================
--- objects/KAOS/other.c	(revision 3796)
+++ objects/KAOS/other.c	(working copy)
@@ -138,11 +138,13 @@
   (MoveFunc)            other_move,
   (MoveHandleFunc)      other_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      other_get_object_menu,
   (DescribePropsFunc)   other_describe_props,
   (GetPropsFunc)        other_get_props,
-  (SetPropsFunc)        other_set_props
+  (SetPropsFunc)        other_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription other_props[] = {
Index: objects/KAOS/goal.c
===================================================================
--- objects/KAOS/goal.c	(revision 3796)
+++ objects/KAOS/goal.c	(working copy)
@@ -144,11 +144,13 @@
   (MoveFunc)            goal_move,
   (MoveHandleFunc)      goal_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      goal_get_object_menu,
   (DescribePropsFunc)   goal_describe_props,
   (GetPropsFunc)        goal_get_props,
-  (SetPropsFunc)        goal_set_props
+  (SetPropsFunc)        goal_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription goal_props[] = {
Index: objects/KAOS/metabinrel.c
===================================================================
--- objects/KAOS/metabinrel.c	(revision 3796)
+++ objects/KAOS/metabinrel.c	(working copy)
@@ -144,11 +144,13 @@
   (MoveFunc)            mbr_move,
   (MoveHandleFunc)      mbr_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   mbr_describe_props,
   (GetPropsFunc)        mbr_get_props,
-  (SetPropsFunc)        mbr_set_props
+  (SetPropsFunc)        mbr_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_mbr_type_data[] = {
Index: objects/KAOS/metaandorrel.c
===================================================================
--- objects/KAOS/metaandorrel.c	(revision 3796)
+++ objects/KAOS/metaandorrel.c	(working copy)
@@ -140,11 +140,13 @@
   (MoveFunc)            maor_move,
   (MoveHandleFunc)      maor_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   maor_describe_props,
   (GetPropsFunc)        maor_get_props,
-  (SetPropsFunc)        maor_set_props
+  (SetPropsFunc)        maor_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_maor_type_data[] = {
Index: objects/UML/fork.c
===================================================================
--- objects/UML/fork.c	(revision 3796)
+++ objects/UML/fork.c	(working copy)
@@ -101,11 +101,13 @@
   (MoveFunc)            fork_move,
   (MoveHandleFunc)      fork_move_handle,
   (GetPropertiesFunc)   object_return_null,
-  (ApplyPropertiesFunc) object_return_void,
+  (ApplyPropertiesDialogFunc) object_return_void,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   fork_describe_props,
   (GetPropsFunc)        fork_get_props,
-  (SetPropsFunc)        fork_set_props
+  (SetPropsFunc)        fork_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription fork_props[] = {
Index: objects/UML/component.c
===================================================================
--- objects/UML/component.c	(revision 3796)
+++ objects/UML/component.c	(working copy)
@@ -109,11 +109,13 @@
   (MoveFunc)            component_move,
   (MoveHandleFunc)      component_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   component_describe_props,
   (GetPropsFunc)        component_get_props,
-  (SetPropsFunc)        component_set_props
+  (SetPropsFunc)        component_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription component_props[] = {
Index: objects/UML/note.c
===================================================================
--- objects/UML/note.c	(revision 3796)
+++ objects/UML/note.c	(working copy)
@@ -104,11 +104,13 @@
   (MoveFunc)            note_move,
   (MoveHandleFunc)      note_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   note_describe_props,
   (GetPropsFunc)        note_get_props,
-  (SetPropsFunc)        note_set_props
+  (SetPropsFunc)        note_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription note_props[] = {
Index: objects/UML/large_package.c
===================================================================
--- objects/UML/large_package.c	(revision 3796)
+++ objects/UML/large_package.c	(working copy)
@@ -112,11 +112,13 @@
   (MoveFunc)            largepackage_move,
   (MoveHandleFunc)      largepackage_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   largepackage_describe_props,
   (GetPropsFunc)        largepackage_get_props,
-  (SetPropsFunc)        largepackage_set_props
+  (SetPropsFunc)        largepackage_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription largepackage_props[] = {
Index: objects/UML/class.c
===================================================================
--- objects/UML/class.c	(revision 3796)
+++ objects/UML/class.c	(working copy)
@@ -113,11 +113,13 @@
   (MoveFunc)            umlclass_move,
   (MoveHandleFunc)      umlclass_move_handle,
   (GetPropertiesFunc)   umlclass_get_properties,
-  (ApplyPropertiesFunc) umlclass_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) umlclass_apply_props_from_dialog,
   (ObjectMenuFunc)      umlclass_object_menu,
   (DescribePropsFunc)   umlclass_describe_props,
   (GetPropsFunc)        umlclass_get_props,
-  (SetPropsFunc)        umlclass_set_props
+  (SetPropsFunc)        umlclass_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 extern PropDescDArrayExtra umlattribute_extra;
Index: objects/UML/object.c
===================================================================
--- objects/UML/object.c	(revision 3796)
+++ objects/UML/object.c	(working copy)
@@ -131,11 +131,13 @@
   (MoveFunc)            objet_move,
   (MoveHandleFunc)      objet_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   objet_describe_props,
   (GetPropsFunc)        objet_get_props,
   (SetPropsFunc)        objet_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/UML/component_feature.c
===================================================================
--- objects/UML/component_feature.c	(revision 3796)
+++ objects/UML/component_feature.c	(working copy)
@@ -134,11 +134,13 @@
   (MoveFunc)            compfeat_move,
   (MoveHandleFunc)      compfeat_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      compfeat_get_object_menu,
   (DescribePropsFunc)   compfeat_describe_props,
   (GetPropsFunc)        compfeat_get_props,
-  (SetPropsFunc)        compfeat_set_props
+  (SetPropsFunc)        compfeat_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_compfeat_type_data[] = {
Index: objects/UML/realizes.c
===================================================================
--- objects/UML/realizes.c	(revision 3796)
+++ objects/UML/realizes.c	(working copy)
@@ -116,11 +116,13 @@
   (MoveFunc)            realizes_move,
   (MoveHandleFunc)      realizes_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      realizes_get_object_menu,
   (DescribePropsFunc)   realizes_describe_props,
   (GetPropsFunc)        realizes_get_props,
-  (SetPropsFunc)        realizes_set_props
+  (SetPropsFunc)        realizes_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription realizes_props[] = {
Index: objects/UML/constraint.c
===================================================================
--- objects/UML/constraint.c	(revision 3796)
+++ objects/UML/constraint.c	(working copy)
@@ -112,11 +112,13 @@
   (MoveFunc)            constraint_move,
   (MoveHandleFunc)      constraint_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   constraint_describe_props,
   (GetPropsFunc)        constraint_get_props,
-  (SetPropsFunc)        constraint_set_props
+  (SetPropsFunc)        constraint_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription constraint_props[] = {
Index: objects/UML/message.c
===================================================================
--- objects/UML/message.c	(revision 3796)
+++ objects/UML/message.c	(working copy)
@@ -124,11 +124,13 @@
   (MoveFunc)            message_move,
   (MoveHandleFunc)      message_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   message_describe_props,
   (GetPropsFunc)        message_get_props,
-  (SetPropsFunc)        message_set_props
+  (SetPropsFunc)        message_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_message_type_data[] = {
Index: objects/UML/lifeline.c
===================================================================
--- objects/UML/lifeline.c	(revision 3796)
+++ objects/UML/lifeline.c	(working copy)
@@ -133,11 +133,13 @@
   (MoveFunc)            lifeline_move,
   (MoveHandleFunc)      lifeline_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      lifeline_get_object_menu,
   (DescribePropsFunc)   lifeline_describe_props,
   (GetPropsFunc)        lifeline_get_props,
-  (SetPropsFunc)        lifeline_set_props
+  (SetPropsFunc)        lifeline_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription lifeline_props[] = {
Index: objects/UML/usecase.c
===================================================================
--- objects/UML/usecase.c	(revision 3796)
+++ objects/UML/usecase.c	(working copy)
@@ -117,11 +117,13 @@
   (MoveFunc)            usecase_move,
   (MoveHandleFunc)      usecase_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   usecase_describe_props,
   (GetPropsFunc)        usecase_get_props,
-  (SetPropsFunc)        usecase_set_props
+  (SetPropsFunc)        usecase_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription usecase_props[] = {
Index: objects/UML/activity.c
===================================================================
--- objects/UML/activity.c	(revision 3796)
+++ objects/UML/activity.c	(working copy)
@@ -108,11 +108,13 @@
   (MoveFunc)            state_move,
   (MoveHandleFunc)      state_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   state_describe_props,
   (GetPropsFunc)        state_get_props,
-  (SetPropsFunc)        state_set_props
+  (SetPropsFunc)        state_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/UML/state_term.c
===================================================================
--- objects/UML/state_term.c	(revision 3796)
+++ objects/UML/state_term.c	(working copy)
@@ -107,11 +107,13 @@
   (MoveFunc)            state_move,
   (MoveHandleFunc)      state_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   state_describe_props,
   (GetPropsFunc)        state_get_props,
-  (SetPropsFunc)        state_set_props
+  (SetPropsFunc)        state_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription state_props[] = {
Index: objects/UML/actor.c
===================================================================
--- objects/UML/actor.c	(revision 3796)
+++ objects/UML/actor.c	(working copy)
@@ -105,11 +105,13 @@
   (MoveFunc)            actor_move,
   (MoveHandleFunc)      actor_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   actor_describe_props,
   (GetPropsFunc)        actor_get_props,
   (SetPropsFunc)        actor_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription actor_props[] = {
Index: objects/UML/generalization.c
===================================================================
--- objects/UML/generalization.c	(revision 3796)
+++ objects/UML/generalization.c	(working copy)
@@ -115,11 +115,13 @@
   (MoveFunc)            generalization_move,
   (MoveHandleFunc)      generalization_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      generalization_get_object_menu,
   (DescribePropsFunc)   generalization_describe_props,
   (GetPropsFunc)        generalization_get_props,
-  (SetPropsFunc)        generalization_set_props
+  (SetPropsFunc)        generalization_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription generalization_props[] = {
Index: objects/UML/association.c
===================================================================
--- objects/UML/association.c	(revision 3796)
+++ objects/UML/association.c	(working copy)
@@ -225,11 +225,13 @@
   (MoveFunc)            association_move,
   (MoveHandleFunc)      association_move_handle,
   (GetPropertiesFunc)   association_get_properties,
-  (ApplyPropertiesFunc) association_apply_properties,
+  (ApplyPropertiesDialogFunc) association_apply_properties,
   (ObjectMenuFunc)      association_get_object_menu,
   (DescribePropsFunc)   association_describe_props,
   (GetPropsFunc)        association_get_props,
-  (SetPropsFunc)        association_set_props
+  (SetPropsFunc)        association_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription association_props[] = {
Index: objects/UML/implements.c
===================================================================
--- objects/UML/implements.c	(revision 3796)
+++ objects/UML/implements.c	(working copy)
@@ -113,11 +113,13 @@
   (MoveFunc)            implements_move,
   (MoveHandleFunc)      implements_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   implements_describe_props,
   (GetPropsFunc)        implements_get_props,
-  (SetPropsFunc)        implements_set_props
+  (SetPropsFunc)        implements_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription implements_props[] = {
Index: objects/UML/dependency.c
===================================================================
--- objects/UML/dependency.c	(revision 3796)
+++ objects/UML/dependency.c	(working copy)
@@ -119,11 +119,13 @@
   (MoveFunc)            dependency_move,
   (MoveHandleFunc)      dependency_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      dependency_get_object_menu,
   (DescribePropsFunc)   dependency_describe_props,
   (GetPropsFunc)        dependency_get_props,
-  (SetPropsFunc)        dependency_set_props
+  (SetPropsFunc)        dependency_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription dependency_props[] = {
Index: objects/UML/classicon.c
===================================================================
--- objects/UML/classicon.c	(revision 3796)
+++ objects/UML/classicon.c	(working copy)
@@ -116,11 +116,13 @@
   (MoveFunc)            classicon_move,
   (MoveHandleFunc)      classicon_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   classicon_describe_props,
   (GetPropsFunc)        classicon_get_props,
-  (SetPropsFunc)        classicon_set_props
+  (SetPropsFunc)        classicon_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_classicon_type_data[] = {
Index: objects/UML/state.c
===================================================================
--- objects/UML/state.c	(revision 3796)
+++ objects/UML/state.c	(working copy)
@@ -129,11 +129,13 @@
   (MoveFunc)            state_move,
   (MoveHandleFunc)      state_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   state_describe_props,
   (GetPropsFunc)        state_get_props,
-  (SetPropsFunc)        state_set_props
+  (SetPropsFunc)        state_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription state_props[] = {
Index: objects/UML/small_package.c
===================================================================
--- objects/UML/small_package.c	(revision 3796)
+++ objects/UML/small_package.c	(working copy)
@@ -109,11 +109,13 @@
   (MoveFunc)            smallpackage_move,
   (MoveHandleFunc)      smallpackage_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   smallpackage_describe_props,
   (GetPropsFunc)        smallpackage_get_props,
   (SetPropsFunc)        smallpackage_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription smallpackage_props[] = {
Index: objects/UML/node.c
===================================================================
--- objects/UML/node.c	(revision 3796)
+++ objects/UML/node.c	(working copy)
@@ -110,11 +110,13 @@
   (MoveFunc)            node_move,
   (MoveHandleFunc)      node_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   node_describe_props,
   (GetPropsFunc)        node_get_props,
-  (SetPropsFunc)        node_set_props
+  (SetPropsFunc)        node_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription node_props[] = {
Index: objects/UML/transition.c
===================================================================
--- objects/UML/transition.c	(revision 3796)
+++ objects/UML/transition.c	(working copy)
@@ -120,11 +120,13 @@
   (MoveFunc)            transition_move,
   (MoveHandleFunc)      transition_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      transition_get_object_menu,
   (DescribePropsFunc)   transition_describe_props,
   (GetPropsFunc)        transition_get_props,
-  (SetPropsFunc)        transition_set_props
+  (SetPropsFunc)        transition_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription transition_props[] = {
Index: objects/UML/branch.c
===================================================================
--- objects/UML/branch.c	(revision 3796)
+++ objects/UML/branch.c	(working copy)
@@ -102,11 +102,13 @@
   (MoveFunc)            branch_move,
   (MoveHandleFunc)      branch_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   branch_describe_props,
   (GetPropsFunc)        branch_get_props,
-  (SetPropsFunc)        branch_set_props
+  (SetPropsFunc)        branch_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription branch_props[] = {
Index: objects/chronogram/chronoline.c
===================================================================
--- objects/chronogram/chronoline.c	(revision 3796)
+++ objects/chronogram/chronoline.c	(working copy)
@@ -132,11 +132,13 @@
   (MoveFunc)            chronoline_move,
   (MoveHandleFunc)      chronoline_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   chronoline_describe_props,
   (GetPropsFunc)        chronoline_get_props,
-  (SetPropsFunc)        chronoline_set_props
+  (SetPropsFunc)        chronoline_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData time_range = { -32767.0, 32768.0, 0.1};
Index: objects/chronogram/chronoref.c
===================================================================
--- objects/chronogram/chronoref.c	(revision 3796)
+++ objects/chronogram/chronoref.c	(working copy)
@@ -126,11 +126,13 @@
   (MoveFunc)            chronoref_move,
   (MoveHandleFunc)      chronoref_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   chronoref_describe_props,
   (GetPropsFunc)        chronoref_get_props,
-  (SetPropsFunc)        chronoref_set_props
+  (SetPropsFunc)        chronoref_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData time_range = { -32767.0, 32768.0, 0.1};
Index: objects/standard/zigzagline.c
===================================================================
--- objects/standard/zigzagline.c	(revision 3796)
+++ objects/standard/zigzagline.c	(working copy)
@@ -110,11 +110,13 @@
   (MoveFunc)            zigzagline_move,
   (MoveHandleFunc)      zigzagline_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      zigzagline_get_object_menu,
   (DescribePropsFunc)   zigzagline_describe_props,
   (GetPropsFunc)        zigzagline_get_props,
   (SetPropsFunc)        zigzagline_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData zigzagline_corner_radius_data = { 0.0, 10.0, 0.1 };
Index: objects/standard/arc.c
===================================================================
--- objects/standard/arc.c	(revision 3796)
+++ objects/standard/arc.c	(working copy)
@@ -122,11 +122,13 @@
   (MoveFunc)            arc_move,
   (MoveHandleFunc)      arc_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   arc_describe_props,
   (GetPropsFunc)        arc_get_props,
   (SetPropsFunc)        arc_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription arc_props[] = {
Index: objects/standard/textobj.c
===================================================================
--- objects/standard/textobj.c	(revision 3796)
+++ objects/standard/textobj.c	(working copy)
@@ -120,11 +120,13 @@
   (MoveFunc)            textobj_move,
   (MoveHandleFunc)      textobj_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   textobj_describe_props,
   (GetPropsFunc)        textobj_get_props,
   (SetPropsFunc)        textobj_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 PropEnumData prop_text_vert_align_data[] = {
Index: objects/standard/bezier.c
===================================================================
--- objects/standard/bezier.c	(revision 3796)
+++ objects/standard/bezier.c	(working copy)
@@ -118,11 +118,13 @@
   (MoveFunc)            bezierline_move,
   (MoveHandleFunc)      bezierline_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      bezierline_get_object_menu,
   (DescribePropsFunc)   bezierline_describe_props,
   (GetPropsFunc)        bezierline_get_props,
   (SetPropsFunc)        bezierline_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData gap_range = { -G_MAXFLOAT, G_MAXFLOAT, 0.1};
Index: objects/standard/image.c
===================================================================
--- objects/standard/image.c	(revision 3796)
+++ objects/standard/image.c	(working copy)
@@ -119,11 +119,13 @@
   (MoveFunc)            image_move,
   (MoveHandleFunc)      image_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   image_describe_props,
   (GetPropsFunc)        image_get_props,
   (SetPropsFunc)        image_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription image_props[] = {
Index: objects/standard/beziergon.c
===================================================================
--- objects/standard/beziergon.c	(revision 3796)
+++ objects/standard/beziergon.c	(working copy)
@@ -118,11 +118,13 @@
   (MoveFunc)            beziergon_move,
   (MoveHandleFunc)      beziergon_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      beziergon_get_object_menu,
   (DescribePropsFunc)   beziergon_describe_props,
   (GetPropsFunc)        beziergon_get_props,
   (SetPropsFunc)        beziergon_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription beziergon_props[] = {
Index: objects/standard/polygon.c
===================================================================
--- objects/standard/polygon.c	(revision 3796)
+++ objects/standard/polygon.c	(working copy)
@@ -121,11 +121,13 @@
   (MoveFunc)            polygon_move,
   (MoveHandleFunc)      polygon_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      polygon_get_object_menu,
   (DescribePropsFunc)   polygon_describe_props,
   (GetPropsFunc)        polygon_get_props,
   (SetPropsFunc)        polygon_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription polygon_props[] = {
Index: objects/standard/line.c
===================================================================
--- objects/standard/line.c	(revision 3796)
+++ objects/standard/line.c	(working copy)
@@ -115,11 +115,13 @@
   (MoveFunc)            line_move,
   (MoveHandleFunc)      line_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      line_get_object_menu,
   (DescribePropsFunc)   line_describe_props,
   (GetPropsFunc)        line_get_props,
-  (SetPropsFunc)        line_set_props
+  (SetPropsFunc)        line_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData gap_range = { -G_MAXFLOAT, G_MAXFLOAT, 0.1};
Index: objects/standard/box.c
===================================================================
--- objects/standard/box.c	(revision 3796)
+++ objects/standard/box.c	(working copy)
@@ -124,11 +124,13 @@
   (MoveFunc)            box_move,
   (MoveHandleFunc)      box_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      box_get_object_menu,
   (DescribePropsFunc)   box_describe_props,
   (GetPropsFunc)        box_get_props,
   (SetPropsFunc)        box_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData corner_radius_data = { 0.0, 10.0, 0.1 };
Index: objects/standard/polyline.c
===================================================================
--- objects/standard/polyline.c	(revision 3796)
+++ objects/standard/polyline.c	(working copy)
@@ -113,11 +113,13 @@
   (MoveFunc)            polyline_move,
   (MoveHandleFunc)      polyline_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      polyline_get_object_menu,
   (DescribePropsFunc)   polyline_describe_props,
   (GetPropsFunc)        polyline_get_props,
   (SetPropsFunc)        polyline_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropNumData polyline_corner_radius_data = { 0.0, 10.0, 0.1 };
Index: objects/standard/ellipse.c
===================================================================
--- objects/standard/ellipse.c	(revision 3796)
+++ objects/standard/ellipse.c	(working copy)
@@ -120,11 +120,13 @@
   (MoveFunc)            ellipse_move,
   (MoveHandleFunc)      ellipse_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      ellipse_get_object_menu,
   (DescribePropsFunc)   ellipse_describe_props,
   (GetPropsFunc)        ellipse_get_props,
   (SetPropsFunc)        ellipse_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_aspect_data[] = {
Index: objects/AADL/aadlprocess.c
===================================================================
--- objects/AADL/aadlprocess.c	(revision 3796)
+++ objects/AADL/aadlprocess.c	(working copy)
@@ -146,11 +146,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadlprocessor.c
===================================================================
--- objects/AADL/aadlprocessor.c	(revision 3796)
+++ objects/AADL/aadlprocessor.c	(working copy)
@@ -116,11 +116,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadlsubprogram.c
===================================================================
--- objects/AADL/aadlsubprogram.c	(revision 3796)
+++ objects/AADL/aadlsubprogram.c	(working copy)
@@ -128,11 +128,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadlsystem.c
===================================================================
--- objects/AADL/aadlsystem.c	(revision 3796)
+++ objects/AADL/aadlsystem.c	(working copy)
@@ -138,11 +138,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadlthreadgroup.c
===================================================================
--- objects/AADL/aadlthreadgroup.c	(revision 3796)
+++ objects/AADL/aadlthreadgroup.c	(working copy)
@@ -73,11 +73,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadlbox.c
===================================================================
--- objects/AADL/aadlbox.c	(revision 3796)
+++ objects/AADL/aadlbox.c	(working copy)
@@ -134,11 +134,13 @@
       (MoveFunc)            aadlbox_move,
       (MoveHandleFunc)      aadlbox_move_handle,
       (GetPropertiesFunc)   object_create_props_dialog,
-      (ApplyPropertiesFunc) object_apply_props_from_dialog,
+      (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
       (ObjectMenuFunc)      aadlbox_get_object_menu,
       (DescribePropsFunc)   aadlbox_describe_props,
       (GetPropsFunc)        aadlbox_get_props,
-      (SetPropsFunc)        aadlbox_set_props
+      (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
     };
 */    
 
Index: objects/AADL/aadlbus.c
===================================================================
--- objects/AADL/aadlbus.c	(revision 3796)
+++ objects/AADL/aadlbus.c	(working copy)
@@ -205,11 +205,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadlpackage.c
===================================================================
--- objects/AADL/aadlpackage.c	(revision 3796)
+++ objects/AADL/aadlpackage.c	(working copy)
@@ -105,11 +105,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadldevice.c
===================================================================
--- objects/AADL/aadldevice.c	(revision 3796)
+++ objects/AADL/aadldevice.c	(working copy)
@@ -142,11 +142,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadlthread.c
===================================================================
--- objects/AADL/aadlthread.c	(revision 3796)
+++ objects/AADL/aadlthread.c	(working copy)
@@ -70,11 +70,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadlmemory.c
===================================================================
--- objects/AADL/aadlmemory.c	(revision 3796)
+++ objects/AADL/aadlmemory.c	(working copy)
@@ -127,11 +127,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/AADL/aadldata.c
===================================================================
--- objects/AADL/aadldata.c	(revision 3796)
+++ objects/AADL/aadldata.c	(working copy)
@@ -158,11 +158,13 @@
   (MoveFunc)            aadlbox_move,
   (MoveHandleFunc)      aadlbox_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      aadlbox_get_object_menu,
   (DescribePropsFunc)   aadlbox_describe_props,
   (GetPropsFunc)        aadlbox_get_props,
-  (SetPropsFunc)        aadlbox_set_props
+  (SetPropsFunc)        aadlbox_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/ER/relationship.c
===================================================================
--- objects/ER/relationship.c	(revision 3796)
+++ objects/ER/relationship.c	(working copy)
@@ -127,11 +127,13 @@
   (MoveFunc)            relationship_move,
   (MoveHandleFunc)      relationship_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   relationship_describe_props,
   (GetPropsFunc)        relationship_get_props,
   (SetPropsFunc)        relationship_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription relationship_props[] = {
Index: objects/ER/attribute.c
===================================================================
--- objects/ER/attribute.c	(revision 3796)
+++ objects/ER/attribute.c	(working copy)
@@ -140,11 +140,13 @@
   (MoveFunc)            attribute_move,
   (MoveHandleFunc)      attribute_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   attribute_describe_props,
   (GetPropsFunc)        attribute_get_props,
   (SetPropsFunc)        attribute_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription attribute_props[] = {
Index: objects/ER/participation.c
===================================================================
--- objects/ER/participation.c	(revision 3796)
+++ objects/ER/participation.c	(working copy)
@@ -103,11 +103,13 @@
   (MoveFunc)            participation_move,
   (MoveHandleFunc)      participation_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      participation_get_object_menu,
   (DescribePropsFunc)   participation_describe_props,
   (GetPropsFunc)        participation_get_props,
-  (SetPropsFunc)        participation_set_props
+  (SetPropsFunc)        participation_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription participation_props[] = {
Index: objects/ER/entity.c
===================================================================
--- objects/ER/entity.c	(revision 3796)
+++ objects/ER/entity.c	(working copy)
@@ -122,11 +122,13 @@
   (MoveFunc)            entity_move,
   (MoveHandleFunc)      entity_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   entity_describe_props,
   (GetPropsFunc)        entity_get_props,
   (SetPropsFunc)        entity_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription entity_props[] = {
Index: objects/FS/flow-ortho.c
===================================================================
--- objects/FS/flow-ortho.c	(revision 3796)
+++ objects/FS/flow-ortho.c	(working copy)
@@ -147,11 +147,13 @@
   (MoveFunc)            orthflow_move,
   (MoveHandleFunc)      orthflow_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      orthflow_get_object_menu,
   (DescribePropsFunc)   orthflow_describe_props,
   (GetPropsFunc)        orthflow_get_props,
   (SetPropsFunc)        orthflow_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_orthflow_type_data[] = {
Index: objects/FS/function.c
===================================================================
--- objects/FS/function.c	(revision 3796)
+++ objects/FS/function.c	(working copy)
@@ -129,11 +129,13 @@
   (MoveFunc)            function_move,
   (MoveHandleFunc)      function_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      function_get_object_menu,
   (DescribePropsFunc)   function_describe_props,
   (GetPropsFunc)        function_get_props,
-  (SetPropsFunc)        function_set_props
+  (SetPropsFunc)        function_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription function_props[] = {
Index: objects/FS/flow.c
===================================================================
--- objects/FS/flow.c	(revision 3796)
+++ objects/FS/flow.c	(working copy)
@@ -124,11 +124,13 @@
   (MoveFunc)            flow_move,
   (MoveHandleFunc)      flow_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      flow_get_object_menu,
   (DescribePropsFunc)   flow_describe_props,
   (GetPropsFunc)        flow_get_props,
   (SetPropsFunc)        flow_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_flow_type_data[] = {
Index: objects/FS/flow-poly.c
===================================================================
--- objects/FS/flow-poly.c	(revision 3796)
+++ objects/FS/flow-poly.c	(working copy)
@@ -114,11 +114,13 @@
   (MoveFunc)            flow_move,
   (MoveHandleFunc)      flow_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      flow_get_object_menu,
   (DescribePropsFunc)   flow_describe_props,
   (GetPropsFunc)        flow_get_props,
   (SetPropsFunc)        flow_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropEnumData prop_flow_type_data[] = {
Index: objects/custom/custom_object.c
===================================================================
--- objects/custom/custom_object.c	(revision 3796)
+++ objects/custom/custom_object.c	(working copy)
@@ -160,11 +160,13 @@
   (MoveFunc)            custom_move,
   (MoveHandleFunc)      custom_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      custom_get_object_menu,
   (DescribePropsFunc)   custom_describe_props,
   (GetPropsFunc)        custom_get_props,
-  (SetPropsFunc)        custom_set_props
+  (SetPropsFunc)        custom_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription custom_props[] = {
Index: objects/GRAFCET/vector.c
===================================================================
--- objects/GRAFCET/vector.c	(revision 3796)
+++ objects/GRAFCET/vector.c	(working copy)
@@ -116,11 +116,13 @@
   (MoveFunc)            arc_move,
   (MoveHandleFunc)      arc_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      arc_get_object_menu,
   (DescribePropsFunc)   arc_describe_props,
   (GetPropsFunc)        arc_get_props,
-  (SetPropsFunc)        arc_set_props
+  (SetPropsFunc)        arc_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription arc_props[] = {
Index: objects/GRAFCET/vergent.c
===================================================================
--- objects/GRAFCET/vergent.c	(revision 3796)
+++ objects/GRAFCET/vergent.c	(working copy)
@@ -110,11 +110,13 @@
   (MoveFunc)            vergent_move,
   (MoveHandleFunc)      vergent_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      vergent_get_object_menu,
   (DescribePropsFunc)   vergent_describe_props,
   (GetPropsFunc)        vergent_get_props,
-  (SetPropsFunc)        vergent_set_props
+  (SetPropsFunc)        vergent_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 
 };
 
Index: objects/GRAFCET/step.c
===================================================================
--- objects/GRAFCET/step.c	(revision 3796)
+++ objects/GRAFCET/step.c	(working copy)
@@ -135,11 +135,13 @@
   (MoveFunc)            step_move,
   (MoveHandleFunc)      step_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   step_describe_props,
   (GetPropsFunc)        step_get_props,
-  (SetPropsFunc)        step_set_props
+  (SetPropsFunc)        step_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 PropEnumData step_style[] = {
Index: objects/GRAFCET/action.c
===================================================================
--- objects/GRAFCET/action.c	(revision 3796)
+++ objects/GRAFCET/action.c	(working copy)
@@ -117,11 +117,13 @@
   (MoveFunc)            action_move,
   (MoveHandleFunc)      action_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   action_describe_props,
   (GetPropsFunc)        action_get_props,
-  (SetPropsFunc)        action_set_props
+  (SetPropsFunc)        action_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription action_props[] = {
Index: objects/GRAFCET/condition.c
===================================================================
--- objects/GRAFCET/condition.c	(revision 3796)
+++ objects/GRAFCET/condition.c	(working copy)
@@ -116,11 +116,13 @@
   (MoveFunc)            condition_move,
   (MoveHandleFunc)      condition_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   condition_describe_props,
   (GetPropsFunc)        condition_get_props,
-  (SetPropsFunc)        condition_set_props
+  (SetPropsFunc)        condition_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/GRAFCET/transition.c
===================================================================
--- objects/GRAFCET/transition.c	(revision 3796)
+++ objects/GRAFCET/transition.c	(working copy)
@@ -127,11 +127,13 @@
   (MoveFunc)            transition_move,
   (MoveHandleFunc)      transition_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   transition_describe_props,
   (GetPropsFunc)        transition_get_props,
-  (SetPropsFunc)        transition_set_props
+  (SetPropsFunc)        transition_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription transition_props[] = {
Index: objects/EML/interaction-ortho.c
===================================================================
--- objects/EML/interaction-ortho.c	(revision 3796)
+++ objects/EML/interaction-ortho.c	(working copy)
@@ -91,8 +91,13 @@
   (MoveFunc)            interaction_ortho_move,
   (MoveHandleFunc)      interaction_ortho_move_handle,
   (GetPropertiesFunc)   interaction_ortho_get_properties,
-  (ApplyPropertiesFunc) interaction_ortho_apply_properties,
+  (ApplyPropertiesDialogFunc) interaction_ortho_apply_properties,
   (ObjectMenuFunc)      interaction_ortho_get_object_menu
+  (DescribePropsFunc)   0,
+  (GetPropsFunc)        0,
+  (SetPropsFunc)        0,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static real
Index: objects/EML/process.c
===================================================================
--- objects/EML/process.c	(revision 3796)
+++ objects/EML/process.c	(working copy)
@@ -77,8 +77,13 @@
   (MoveFunc)            emlprocess_move,
   (MoveHandleFunc)      emlprocess_move_handle,
   (GetPropertiesFunc)   emlprocess_get_properties,
-  (ApplyPropertiesFunc) emlprocess_apply_properties,
+  (ApplyPropertiesDialogFunc) emlprocess_apply_properties,
   (ObjectMenuFunc)      NULL
+  (DescribePropsFunc)   0,
+  (GetPropsFunc)        0,
+  (SetPropsFunc)        0,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 
Index: objects/EML/interaction.c
===================================================================
--- objects/EML/interaction.c	(revision 3796)
+++ objects/EML/interaction.c	(working copy)
@@ -93,8 +93,13 @@
   (MoveFunc)            interaction_move,
   (MoveHandleFunc)      interaction_move_handle,
   (GetPropertiesFunc)   interaction_get_properties,
-  (ApplyPropertiesFunc) interaction_apply_properties,
+  (ApplyPropertiesDialogFunc) interaction_apply_properties,
   (ObjectMenuFunc)      interaction_get_object_menu
+  (DescribePropsFunc)   0,
+  (GetPropsFunc)        0,
+  (SetPropsFunc)        0,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static real
Index: objects/EML/instantiation.c
===================================================================
--- objects/EML/instantiation.c	(revision 3796)
+++ objects/EML/instantiation.c	(working copy)
@@ -118,11 +118,13 @@
   (MoveFunc)            instantiation_move,
   (MoveHandleFunc)      instantiation_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      instantiation_get_object_menu,
   (DescribePropsFunc)   instantiation_describe_props,
   (GetPropsFunc)        instantiation_get_props,
-  (SetPropsFunc)        instantiation_set_props
+  (SetPropsFunc)        instantiation_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)object_apply_props,0,0,0,0}
 };
 
 static PropDescription instantiation_props[] = {
Index: lib/objchange.h
===================================================================
--- lib/objchange.h	(revision 3796)
+++ lib/objchange.h	(working copy)
@@ -26,6 +26,14 @@
 typedef void (*ObjectChangeRevertFunc)(ObjectChange *change, DiaObject *obj);
 typedef void (*ObjectChangeFreeFunc)(ObjectChange *change);
 
+/*
+   RFC: Why do the functions require the changed object as an
+   argument? It doesn't make sense to have a "change" that is not
+   associated with a particular object. The object should be specified
+   by the change itself. Why would anyone try to apply an arbitrary
+   change to some arbitrary object other than the one involved in
+   originally making that change?
+ */
 struct _ObjectChange {
   /*! If apply == transaction_point_pointer then this is a transaction
      point. Otherwise this is applying the change */
Index: lib/object.h
===================================================================
--- lib/object.h	(revision 3796)
+++ lib/object.h	(working copy)
@@ -268,8 +268,19 @@
  * @return a Change that can be used for undo/redo.
  * The returned change is already applied.
  */
-typedef ObjectChange *(*ApplyPropertiesFunc) (DiaObject* obj, GtkWidget *widget);
+typedef ObjectChange *(*ApplyPropertiesDialogFunc) (DiaObject* obj, GtkWidget *widget);
 
+/** This function is used to apply a list of properties to the current
+ *  object. It is typically called by ApplyPropertiesFunc. This
+ *  is different from SetPropsFunc since this is used to implement
+ *  undo/redo.
+ *  This is one of the object_ops functions.
+ * @param obj The object to which properties are to be applied
+ * @param props The list of properties that are to be applied
+ * @return a Change for undo/redo
+ */
+ typedef ObjectChange *(*ApplyPropertiesListFunc) (DiaObject* obj, GPtrArray* props);
+ 
 /** Desribe the properties that this object supports.
  *  This is one of the object_ops functions.
  * @param obj The object whose properties we want described.
@@ -328,6 +339,13 @@
  */
 typedef gboolean (*TextEditFunc) (DiaObject *obj, Text *text, TextEditState state, gchar *textchange);
 
+/** Function type for the five reserved slots in the vtable
+ * @param obj The object on which the function is to be applied
+ * @param ... Unknown list of parameters
+ * @return Unknown
+ */
+typedef void  (*ReservedSlotFunc)(DiaObject *obj,...);
+
 /*************************************
  **  The functions provided in object.c
  *************************************/
@@ -417,8 +435,8 @@
   CopyFunc            copy;
   MoveFunc            move;
   MoveHandleFunc      move_handle;
-  GetPropertiesFunc   get_properties;
-  ApplyPropertiesFunc apply_properties;
+  GetPropertiesFunc          get_properties;
+  ApplyPropertiesDialogFunc  apply_properties_from_dialog;
   ObjectMenuFunc      get_object_menu;
 
   DescribePropsFunc   describe_props;
@@ -433,7 +451,24 @@
     Then an older object will be binary compatible, because all new code
     checks if new ops are supported (!= NULL)
   */
-  void      (*(unused[5]))(DiaObject *obj,...); 
+  ReservedSlotFunc    unused[5];
+  /*
+    NOTE:
+    The first reserved slot, unused[0] has been assigned to a function
+    that is called when setting a list of properties on a given
+    object. The actual slot for this function would look like this:
+    
+    ApplyPropertiesListFunc apply_properties_list;
+
+    This function is required to enable undo/redo in derived objects
+    such as groups, that must manage their own Change objects. The
+    slot unused[0] has been used to retrofit the vtable without
+    causing any inadvertent incompatibilities.
+    
+    IMPORTANT: In this case, all code should fail if this op is not
+    supported, since there is no sane behaviour for a default
+    undo/redo handler.
+  */
 };
 
 /*!
Index: lib/group.c
===================================================================
--- lib/group.c	(revision 3796)
+++ lib/group.c	(working copy)
@@ -25,6 +25,7 @@
 #include "connectionpoint.h"
 #include "group.h"
 #include "properties.h"
+#include "propinternals.h"
 #include "diarenderer.h"
 
 struct _Group {
@@ -38,6 +39,18 @@
   PropDescription *pdesc;
 };
 
+typedef struct _GroupPropChange GroupPropChange;
+struct _GroupPropChange {
+  ObjectChange obj_change;
+  Group *group;
+  GList *changes_per_object;
+};
+
+static GroupPropChange* group_apply_properties_list(Group *group, GPtrArray *props);
+static void group_prop_change_apply(GroupPropChange *change, DiaObject *obj);
+static void group_prop_change_revert(GroupPropChange *change, DiaObject *obj);
+static void group_prop_change_free(GroupPropChange *change);
+
 static real group_distance_from(Group *group, Point *point);
 static void group_select(Group *group);
 static ObjectChange* group_move_handle(Group *group, Handle *handle, Point *to, ConnectionPoint *cp,
@@ -61,11 +74,13 @@
   (MoveFunc)            group_move,
   (MoveHandleFunc)      group_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   group_describe_props,
   (GetPropsFunc)        group_get_props,
-  (SetPropsFunc)        group_set_props
+  (SetPropsFunc)        group_set_props,
+  (TextEditFunc) 0,
+  {(ReservedSlotFunc)group_apply_properties_list,0,0,0,0}
 };
 
 DiaObjectType group_type = {
@@ -445,3 +460,90 @@
     }
   }
 }
+
+GroupPropChange *
+group_apply_properties_list(Group *group, GPtrArray *props)
+{
+  GList *tmp = NULL;
+  GList *clist = NULL;
+  GroupPropChange *change = NULL;
+  change = g_new0(GroupPropChange, 1);
+
+
+  change->obj_change.apply =
+    (ObjectChangeApplyFunc) group_prop_change_apply;
+  change->obj_change.revert =
+    (ObjectChangeRevertFunc) group_prop_change_revert;
+  change->obj_change.free =
+    (ObjectChangeFreeFunc) group_prop_change_free;
+
+  change->group = group;
+
+  for (tmp = group->objects; tmp != NULL; tmp = g_list_next(tmp)) {
+    DiaObject *obj = (DiaObject*)tmp->data;
+    ObjectChange *objchange = NULL;
+    /*ObjectChange *objchange = obj->ops->apply_object_properties(obj, props);*/
+    g_assert(obj->ops->unused[0]);
+    objchange = ((ApplyPropertiesListFunc)(obj->ops->unused[0]))
+      (obj, props);
+    clist = g_list_append(clist, objchange);
+  }
+
+  change->changes_per_object = clist;
+
+  return change;
+}
+
+static void
+group_prop_change_apply(GroupPropChange *change, DiaObject *obj)
+{
+  GList *tmp;
+
+  for (tmp = change->changes_per_object; tmp != NULL;
+       tmp = g_list_next(tmp)) {
+    ObjectChange *obj_change = (ObjectChange*)tmp->data;
+
+    /*
+      This call to apply() depends on the fact that it is actually a
+      call to object_prop_change_apply_revert(), which never uses its
+      second argument. This particular behaviour used in
+      ObjectPropChange is actually better than the behaviour implied
+      in ObjectChange. Read comments near the ObjectChange struct in
+      objchange.h
+     */
+    obj_change->apply(obj_change, NULL);
+  }
+}
+
+static void
+group_prop_change_revert(GroupPropChange *change, DiaObject *obj)
+{
+  GList *tmp;
+
+  for (tmp = change->changes_per_object; tmp != NULL;
+       tmp = g_list_next(tmp)) {
+    ObjectChange *obj_change = (ObjectChange*)tmp->data;
+
+    /*
+      This call to revert() depends on the fact that it is actually a
+      call to object_prop_change_apply_revert(), which never uses its
+      second argument. This particular behaviour used in
+      ObjectPropChange is actually better than the behaviour implied
+      in ObjectChange. Read comments near the ObjectChange struct in
+      objchange.h
+     */
+    obj_change->revert(obj_change, NULL);
+  }
+}
+
+static void group_prop_change_free(GroupPropChange *change)
+{
+  GList *tmp;
+  for (tmp = change->changes_per_object; tmp != NULL;
+       tmp = g_list_next(tmp)) {
+    ObjectChange *obj_change = (ObjectChange*)tmp->data;
+    obj_change->free(obj_change);
+    g_free(obj_change);
+  }
+  g_list_free(change->changes_per_object);
+}
Index: lib/propobject.c
===================================================================
--- lib/propobject.c	(revision 3796)
+++ lib/propobject.c	(working copy)
@@ -157,7 +157,10 @@
   PropDialog *dialog = prop_dialog_from_widget(dialog_widget);
 
   prop_get_data_from_widgets(dialog);
-  return object_apply_props(obj, dialog->props);
+  /*  return object_apply_props(obj, dialog->props);*/
+  g_assert(obj->ops->unused[0]);
+  return ((ApplyPropertiesListFunc)(obj->ops->unused[0]))
+      (obj, dialog->props);
 }
 
 
Index: lib/newgroup.c
===================================================================
--- lib/newgroup.c	(revision 3796)
+++ lib/newgroup.c	(working copy)
@@ -105,11 +105,14 @@
   (MoveFunc)            newgroup_move,
   (MoveHandleFunc)      newgroup_move_handle,
   (GetPropertiesFunc)   object_create_props_dialog,
-  (ApplyPropertiesFunc) object_apply_props_from_dialog,
+  (ApplyPropertiesDialogFunc) object_apply_props_from_dialog,
   (ObjectMenuFunc)      NULL,
   (DescribePropsFunc)   newgroup_describe_props,
   (GetPropsFunc)        newgroup_get_props,
   (SetPropsFunc)        newgroup_set_props,
+  (TextEditFunc) 0,
+  #warning NewGroup requires a function in the vtable to apply props
+  {0,0,0,0,0}
 };
 
 static PropDescription newgroup_props[] = {
