Revision: 76580
          http://sourceforge.net/p/brlcad/code/76580
Author:   starseeker
Date:     2020-07-29 19:22:14 +0000 (Wed, 29 Jul 2020)
Log Message:
-----------
Put the other string Tcl callback into tclcad_data_view

Modified Paths:
--------------
    brlcad/branches/bioh/include/tclcad.h
    brlcad/branches/bioh/src/libtclcad/tclcad_mouse.c
    brlcad/branches/bioh/src/libtclcad/tclcad_obj.c
    brlcad/branches/bioh/src/libtclcad/tclcad_obj_wrapper.c
    brlcad/branches/bioh/src/libtclcad/view/autoview.c

Modified: brlcad/branches/bioh/include/tclcad.h
===================================================================
--- brlcad/branches/bioh/include/tclcad.h       2020-07-29 19:09:20 UTC (rev 
76579)
+++ brlcad/branches/bioh/include/tclcad.h       2020-07-29 19:22:14 UTC (rev 
76580)
@@ -134,12 +134,12 @@
 
 struct tclcad_view_data {
     struct bu_vls              gdv_edit_motion_delta_callback;
+    struct bu_vls              gdv_callback;
 };
 
 struct ged_dm_view {
     struct bu_list             l;
     struct bview               *gdv_view;
-    struct bu_vls              gdv_callback;
     struct dm                  *gdv_dmp;
     struct fbserv_obj          gdv_fbs;
     struct ged_obj             *gdv_gop;

Modified: brlcad/branches/bioh/src/libtclcad/tclcad_mouse.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/tclcad_mouse.c   2020-07-29 19:09:20 UTC 
(rev 76579)
+++ brlcad/branches/bioh/src/libtclcad/tclcad_mouse.c   2020-07-29 19:22:14 UTC 
(rev 76580)
@@ -459,8 +459,9 @@
     bu_vls_free(&rot_vls);
 
     if (ret == GED_OK) {
-       if (0 < bu_vls_strlen(&gdvp->gdv_callback)) {
-           tclcad_eval_noresult(current_top->to_interp, 
bu_vls_addr(&gdvp->gdv_callback), 0, NULL);
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (0 < bu_vls_strlen(&tvd->gdv_callback)) {
+           tclcad_eval_noresult(current_top->to_interp, 
bu_vls_addr(&tvd->gdv_callback), 0, NULL);
        }
 
        to_refresh_view(gdvp);
@@ -574,8 +575,9 @@
     bu_vls_free(&tran_vls);
 
     if (ret == GED_OK) {
-       if (0 < bu_vls_strlen(&gdvp->gdv_callback)) {
-           tclcad_eval_noresult(current_top->to_interp, 
bu_vls_addr(&gdvp->gdv_callback), 0, NULL);
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (0 < bu_vls_strlen(&tvd->gdv_callback)) {
+           tclcad_eval_noresult(current_top->to_interp, 
bu_vls_addr(&tvd->gdv_callback), 0, NULL);
        }
 
        to_refresh_view(gdvp);
@@ -2971,8 +2973,9 @@
     bu_vls_free(&rot_vls);
 
     if (ret == GED_OK) {
-       if (0 < bu_vls_strlen(&gdvp->gdv_callback)) {
-           Tcl_Eval(current_top->to_interp, bu_vls_addr(&gdvp->gdv_callback));
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (0 < bu_vls_strlen(&tvd->gdv_callback)) {
+           Tcl_Eval(current_top->to_interp, bu_vls_addr(&tvd->gdv_callback));
        }
 
        to_refresh_view(gdvp);
@@ -3287,8 +3290,9 @@
     bu_vls_free(&zoom_vls);
 
     if (ret == GED_OK) {
-       if (0 < bu_vls_strlen(&gdvp->gdv_callback)) {
-           Tcl_Eval(current_top->to_interp, bu_vls_addr(&gdvp->gdv_callback));
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (0 < bu_vls_strlen(&tvd->gdv_callback)) {
+           Tcl_Eval(current_top->to_interp, bu_vls_addr(&tvd->gdv_callback));
        }
 
        to_refresh_view(gdvp);
@@ -3676,8 +3680,9 @@
     bu_vls_free(&trans_vls);
 
     if (ret == GED_OK) {
-       if (0 < bu_vls_strlen(&gdvp->gdv_callback)) {
-           Tcl_Eval(current_top->to_interp, bu_vls_addr(&gdvp->gdv_callback));
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (0 < bu_vls_strlen(&tvd->gdv_callback)) {
+           Tcl_Eval(current_top->to_interp, bu_vls_addr(&tvd->gdv_callback));
        }
 
        to_refresh_view(gdvp);

Modified: brlcad/branches/bioh/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/tclcad_obj.c     2020-07-29 19:09:20 UTC 
(rev 76579)
+++ brlcad/branches/bioh/src/libtclcad/tclcad_obj.c     2020-07-29 19:22:14 UTC 
(rev 76580)
@@ -2895,8 +2895,8 @@
 
     struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
     bu_vls_free(&tvd->gdv_edit_motion_delta_callback);
+    bu_vls_free(&tvd->gdv_callback);
     BU_PUT(tvd, struct tclcad_view_data);
-    bu_vls_free(&gdvp->gdv_callback);
 
     (void)dm_close(gdvp->gdv_dmp);
     bu_ptbl_free(gdvp->gdv_view->callbacks);
@@ -3543,6 +3543,7 @@
 };
 
 
+
 HIDDEN void
 redraw_edited_paths(struct bu_hash_tbl *t, void *udata)
 {
@@ -3697,8 +3698,9 @@
        av[2] = NULL;
        ged_grid(gedp, 2, (const char **)av);
 
-       if (0 < bu_vls_strlen(&gdvp->gdv_callback)) {
-           tclcad_eval_noresult(current_top->to_interp, 
bu_vls_addr(&gdvp->gdv_callback), 0, NULL);
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (0 < bu_vls_strlen(&tvd->gdv_callback)) {
+           tclcad_eval_noresult(current_top->to_interp, 
bu_vls_addr(&tvd->gdv_callback), 0, NULL);
        }
 
        need_refresh = 1;
@@ -4561,8 +4563,8 @@
     struct tclcad_view_data *tvd;
     BU_GET(tvd, struct tclcad_view_data);
     bu_vls_init(&tvd->gdv_edit_motion_delta_callback);
+    bu_vls_init(&tvd->gdv_callback);
     new_gdvp->gdv_data = (void *)tvd;
-    bu_vls_init(&new_gdvp->gdv_callback);
 
     bu_vls_printf(&new_gdvp->gdv_view->gv_name, "%s", argv[name_index]);
     ged_view_init(new_gdvp->gdv_view);
@@ -6113,15 +6115,17 @@
 
     /* get the callback string */
     if (argc == 2) {
-       bu_vls_printf(gedp->ged_result_str, "%s", 
bu_vls_addr(&gdvp->gdv_callback));
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       bu_vls_printf(gedp->ged_result_str, "%s", 
bu_vls_addr(&tvd->gdv_callback));
 
        return GED_OK;
     }
 
     /* set the callback string */
-    bu_vls_trunc(&gdvp->gdv_callback, 0);
+    struct tclcad_view_data *tvd = (struct tclcad_view_data *)gdvp->gdv_data;
+    bu_vls_trunc(&tvd->gdv_callback, 0);
     for (i = 2; i < argc; ++i)
-       bu_vls_printf(&gdvp->gdv_callback, "%s ", argv[i]);
+       bu_vls_printf(&tvd->gdv_callback, "%s ", argv[i]);
 
     return GED_OK;
 }
@@ -6398,8 +6402,9 @@
            ged_view_center_linesnap(gedp);
        }
 
-       if (0 < bu_vls_strlen(&gdvp->gdv_callback)) {
-           Tcl_Eval(current_top->to_interp, bu_vls_addr(&gdvp->gdv_callback));
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (0 < bu_vls_strlen(&tvd->gdv_callback)) {
+           Tcl_Eval(current_top->to_interp, bu_vls_addr(&tvd->gdv_callback));
        }
 
        to_refresh_view(gdvp);

Modified: brlcad/branches/bioh/src/libtclcad/tclcad_obj_wrapper.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/tclcad_obj_wrapper.c     2020-07-29 
19:09:20 UTC (rev 76579)
+++ brlcad/branches/bioh/src/libtclcad/tclcad_obj_wrapper.c     2020-07-29 
19:22:14 UTC (rev 76580)
@@ -308,11 +308,12 @@
     }
 
     if (ret == GED_OK) {
-       if (cflag && 0 < bu_vls_strlen(&gdvp->gdv_callback)) {
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (cflag && 0 < bu_vls_strlen(&tvd->gdv_callback)) {
            struct bu_vls save_result = BU_VLS_INIT_ZERO;
 
            bu_vls_printf(&save_result, "%s", 
bu_vls_addr(gedp->ged_result_str));
-           Tcl_Eval(current_top->to_interp, bu_vls_addr(&gdvp->gdv_callback));
+           Tcl_Eval(current_top->to_interp, bu_vls_addr(&tvd->gdv_callback));
            bu_vls_trunc(gedp->ged_result_str, 0);
            bu_vls_printf(gedp->ged_result_str, "%s", 
bu_vls_addr(&save_result));
            bu_vls_free(&save_result);

Modified: brlcad/branches/bioh/src/libtclcad/view/autoview.c
===================================================================
--- brlcad/branches/bioh/src/libtclcad/view/autoview.c  2020-07-29 19:09:20 UTC 
(rev 76579)
+++ brlcad/branches/bioh/src/libtclcad/view/autoview.c  2020-07-29 19:22:14 UTC 
(rev 76580)
@@ -50,8 +50,9 @@
        ret = ged_autoview(gdvp->gdv_gop->go_gedp, 1, (const char **)av);
 
     if (ret == GED_OK) {
-       if (0 < bu_vls_strlen(&gdvp->gdv_callback)) {
-           Tcl_Eval(current_top->to_interp, bu_vls_addr(&gdvp->gdv_callback));
+       struct tclcad_view_data *tvd = (struct tclcad_view_data 
*)gdvp->gdv_data;
+       if (0 < bu_vls_strlen(&tvd->gdv_callback)) {
+           Tcl_Eval(current_top->to_interp, bu_vls_addr(&tvd->gdv_callback));
        }
 
        to_refresh_view(gdvp);

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to