Implements ability to turn on/off connection points in current drawing and
in global prefs.
dc
Index: commands.c
===================================================================
RCS file: /cvs/gnome/dia/app/commands.c,v
retrieving revision 1.27
diff -c -r1.27 commands.c
*** commands.c 1999/05/08 19:36:57 1.27
--- commands.c 1999/05/18 18:47:55
***************
*** 705,710 ****
--- 705,735 ----
#ifdef GNOME
void
+ view_show_cx_pts_callback(GtkWidget *widget,
+ gpointer callback_data)
+ #else /* GNOME */
+ void
+ view_show_cx_pts_callback(gpointer callback_data,
+ guint callback_action,
+ GtkWidget *widget)
+ #endif /* GNOME */
+ {
+ DDisplay *ddisp;
+ int old_val;
+
+ ddisp = ddisplay_active();
+
+ old_val = ddisp->show_cx_pts;
+ ddisp->show_cx_pts = GTK_CHECK_MENU_ITEM (widget)->active;
+
+ if (old_val != ddisp->show_cx_pts) {
+ ddisplay_add_update_all(ddisp);
+ ddisplay_flush(ddisp);
+ }
+ }
+
+ #ifdef GNOME
+ void
view_visible_grid_callback(GtkWidget *widget,
gpointer callback_data)
#else /* GNOME */
Index: commands.h
===================================================================
RCS file: /cvs/gnome/dia/app/commands.h,v
retrieving revision 1.10
diff -c -r1.10 commands.h
*** commands.h 1999/04/08 18:56:32 1.10
--- commands.h 1999/05/18 18:47:59
***************
*** 42,53 ****
extern void view_zoom_set_callback(GtkWidget *widget, gpointer data);
#ifdef GNOME
! extern void view_visible_grid_callback(GtkWidget *widget,
gpointer callback_data);
! extern void view_snap_to_grid_callback(GtkWidget *widget,
gpointer callback_data);
extern void view_toggle_rulers_callback(GtkWidget *widget,
gpointer callback_data);
#else /* GNOME */
extern void view_visible_grid_callback(gpointer callback_data,
guint callback_action,
--- 42,55 ----
extern void view_zoom_set_callback(GtkWidget *widget, gpointer data);
#ifdef GNOME
! extern void view_visible_grid_callback (GtkWidget *widget,
gpointer callback_data);
! extern void view_snap_to_grid_callback (GtkWidget *widget,
gpointer callback_data);
extern void view_toggle_rulers_callback(GtkWidget *widget,
gpointer callback_data);
+ extern void view_show_cx_pts_callback (GtkWidget *widget,
+ gpointer callback_data);
#else /* GNOME */
extern void view_visible_grid_callback(gpointer callback_data,
guint callback_action,
***************
*** 58,63 ****
--- 60,68 ----
extern void view_toggle_rulers_callback(gpointer callback_data,
guint callback_action,
GtkWidget *widget);
+ extern void view_show_cx_pts_callback (gpointer callback_data,
+ guint callback_action,
+ GtkWidget *widget);
#endif /* GNOME */
extern void view_new_view_callback(GtkWidget *widget, gpointer data);
extern void view_show_all_callback(GtkWidget *widget, gpointer data);
Index: display.c
===================================================================
RCS file: /cvs/gnome/dia/app/display.c,v
retrieving revision 1.20
diff -c -r1.20 display.c
*** display.c 1999/03/28 13:25:23 1.20
--- display.c 1999/05/18 18:48:03
***************
*** 106,111 ****
--- 106,113 ----
ddisp->grid.entry_x = NULL;
ddisp->grid.entry_y = NULL;
+ ddisp->show_cx_pts = prefs.show_cx_pts;
+
ddisp->autoscroll = TRUE;
ddisp->renderer = NULL;
***************
*** 341,347 ****
int i;
obj->ops->draw(obj, renderer);
! if (active_layer) {
for (i=0;i<obj->num_connections;i++) {
connectionpoint_draw(obj->connections[i], ddisp);
}
--- 343,349 ----
int i;
obj->ops->draw(obj, renderer);
! if (active_layer && ddisp->show_cx_pts) {
for (i=0;i<obj->num_connections;i++) {
connectionpoint_draw(obj->connections[i], ddisp);
}
***************
*** 755,765 ****
static GtkWidget *rulers;
static GtkWidget *visible_grid;
static GtkWidget *snap_to_grid;
if (initialized==0) {
! rulers = menus_get_item_from_path(_("<Display>/View/Toggle Rulers"));
visible_grid = menus_get_item_from_path(_("<Display>/View/Visible Grid"));
snap_to_grid = menus_get_item_from_path(_("<Display>/View/Snap To Grid"));
initialized = 1;
}
--- 757,769 ----
static GtkWidget *rulers;
static GtkWidget *visible_grid;
static GtkWidget *snap_to_grid;
+ static GtkWidget *show_cx_pts;
if (initialized==0) {
! rulers = menus_get_item_from_path(_("<Display>/View/Show Rulers"));
visible_grid = menus_get_item_from_path(_("<Display>/View/Visible Grid"));
snap_to_grid = menus_get_item_from_path(_("<Display>/View/Snap To Grid"));
+ show_cx_pts = menus_get_item_from_path(_("<Display>/View/Show Connection
+Points"));
initialized = 1;
}
***************
*** 769,779 ****
diagram_update_menu_sensitivity(dia);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(rulers),
! GTK_WIDGET_VISIBLE (ddisp->hrule) ? 1 : 0);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(visible_grid),
ddisp->grid.visible);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(snap_to_grid),
ddisp->grid.snap);
}
/* This is called when ddisp->shell is destroyed... */
--- 773,785 ----
diagram_update_menu_sensitivity(dia);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(rulers),
! GTK_WIDGET_VISIBLE (ddisp->hrule) ? 1 : 0);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(visible_grid),
ddisp->grid.visible);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(snap_to_grid),
ddisp->grid.snap);
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_cx_pts),
+ ddisp->show_cx_pts);
}
/* This is called when ddisp->shell is destroyed... */
Index: display.h
===================================================================
RCS file: /cvs/gnome/dia/app/display.h,v
retrieving revision 1.7
diff -c -r1.7 display.h
*** display.h 1999/03/19 17:47:57 1.7
--- display.h 1999/05/18 18:48:03
***************
*** 55,60 ****
--- 55,61 ----
Grid grid; /* the grid in this display */
+ gboolean show_cx_pts; /* Connection points toggle boolean */
gboolean autoscroll;
RendererGdk *renderer;
Index: menus.c
===================================================================
RCS file: /cvs/gnome/dia/app/menus.c,v
retrieving revision 1.23
diff -c -r1.23 menus.c
*** menus.c 1999/04/04 09:13:22 1.23
--- menus.c 1999/05/18 18:48:04
***************
*** 91,98 ****
view_visible_grid_callback, NULL),
GNOMEUIINFO_TOGGLEITEM(N_("_Snap To Grid"), NULL,
view_snap_to_grid_callback, NULL),
! GNOMEUIINFO_TOGGLEITEM(N_("Toggle _Rulers"), NULL,
view_toggle_rulers_callback, NULL),
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_ITEM_NONE(N_("New _View"), NULL, view_new_view_callback),
GNOMEUIINFO_ITEM_NONE(N_("Show _All"), NULL, view_show_all_callback),
--- 91,100 ----
view_visible_grid_callback, NULL),
GNOMEUIINFO_TOGGLEITEM(N_("_Snap To Grid"), NULL,
view_snap_to_grid_callback, NULL),
! GNOMEUIINFO_TOGGLEITEM(N_("Show _Rulers"), NULL,
view_toggle_rulers_callback, NULL),
+ GNOMEUIINFO_TOGGLEITEM(N_("Show _Connection Points"), NULL,
+ view_show_cx_pts_callback, NULL),
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_ITEM_NONE(N_("New _View"), NULL, view_new_view_callback),
GNOMEUIINFO_ITEM_NONE(N_("Show _All"), NULL, view_show_all_callback),
***************
*** 202,208 ****
{N_("/View/Edit Grid..."), NULL, view_edit_grid_callback, 0},
{N_("/View/_Visible Grid"), NULL, view_visible_grid_callback, 0,
"<CheckItem>"},
{N_("/View/_Snap To Grid"), NULL, view_snap_to_grid_callback, 0,
"<CheckItem>"},
! {N_("/View/Toggle _Rulers"), NULL, view_toggle_rulers_callback, 0,
"<CheckItem>"},
{N_("/View/sep1"), NULL, NULL, 0,
"<Separator>"},
{N_("/View/New _View"), "<control>I", view_new_view_callback, 0},
{N_("/View/Show _All"), "<control>A", view_show_all_callback, 0},
--- 204,211 ----
{N_("/View/Edit Grid..."), NULL, view_edit_grid_callback, 0},
{N_("/View/_Visible Grid"), NULL, view_visible_grid_callback, 0,
"<CheckItem>"},
{N_("/View/_Snap To Grid"), NULL, view_snap_to_grid_callback, 0,
"<CheckItem>"},
! {N_("/View/Show _Rulers"), NULL, view_toggle_rulers_callback, 0,
"<CheckItem>"},
! {N_("/View/Show _Connection Points"), NULL,
view_show_cx_pts_callback, 0, "<CheckItem>"},
{N_("/View/sep1"), NULL, NULL, 0,
"<Separator>"},
{N_("/View/New _View"), "<control>I", view_new_view_callback, 0},
{N_("/View/Show _All"), "<control>A", view_show_all_callback, 0},
Index: preferences.c
===================================================================
RCS file: /cvs/gnome/dia/app/preferences.c,v
retrieving revision 1.5
diff -c -r1.5 preferences.c
*** preferences.c 1999/04/14 17:29:21 1.5
--- preferences.c 1999/05/18 18:48:06
***************
*** 86,91 ****
--- 86,94 ----
{ "new_view_height", PREF_UINT, PREF_OFFSET(new_view.height), &default_int_h, 1,
N_("Height:") },
{ "new_view_zoom", PREF_UREAL, PREF_OFFSET(new_view.zoom), &default_real_zoom, 1,
N_("Magnify:") },
+ { NULL, PREF_NONE, 0, NULL, 1, N_("Connection Points:") },
+ { "show_cx_pts", PREF_BOOLEAN, PREF_OFFSET(show_cx_pts), &default_true, 1,
+N_("Visible:") },
+
};
#define NUM_PREFS_DATA (sizeof(prefs_data)/sizeof(struct DiaPrefsData))
Index: preferences.h
===================================================================
RCS file: /cvs/gnome/dia/app/preferences.h,v
retrieving revision 1.2
diff -c -r1.2 preferences.h
*** preferences.h 1999/04/14 17:29:22 1.2
--- preferences.h 1999/05/18 18:48:07
***************
*** 40,45 ****
--- 40,46 ----
real zoom;
} new_view;
+ int show_cx_pts;
int reset_tools_after_create;
int compress_save;
};