Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 32108) +++ trunk/scconfig/Rev.h (revision 32109) @@ -1 +1 @@ -static const int myrev = 32103; +static const int myrev = 32109; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 32108) +++ trunk/scconfig/Rev.tab (revision 32109) @@ -1,3 +1,4 @@ +32109 configure removing custom per hid attribute editor in favor of generic central propedit 32103 configure librnd DAD API transition (label cleanup) 32099 configure remove lesstif local dialog implementations: library, netlist 31776 configure new plugin: formula, for impedance calculations Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 32108) +++ trunk/src/Makefile.dep (revision 32109) @@ -5489,7 +5489,7 @@ ../src_plugins/lib_gtk_common/dlg_attr_box.c ../src_plugins/lib_gtk_common/dlg_attributes.o: \ ../src_plugins/lib_gtk_common/dlg_attributes.c ../config.h \ - librnd/config.h ../src_plugins/lib_gtk_common/dlg_attributes.h \ + librnd/config.h \ librnd/core/hid.h ../src_3rd/liblihata/dom.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ ../src_3rd/genht/htsp.h ../src_3rd/genht/ht.h librnd/core/error.h \ @@ -5640,7 +5640,6 @@ ../src_plugins/lib_gtk_common/ui_crosshair.h \ ../src_plugins/lib_gtk_common/dlg_fileselect.h \ ../src_plugins/lib_gtk_common/dlg_attribute.h \ - ../src_plugins/lib_gtk_common/dlg_attributes.h \ ../src_plugins/lib_gtk_common/util_listener.h \ ../src_plugins/lib_gtk_common/util_timer.h \ ../src_plugins/lib_gtk_common/util_watch.h \ Index: trunk/src/librnd/core/hid.h =================================================================== --- trunk/src/librnd/core/hid.h (revision 32108) +++ trunk/src/librnd/core/hid.h (revision 32109) @@ -440,7 +440,7 @@ /* Something to alert the user. */ void (*beep)(rnd_hid_t *hid); - void (*edit_attributes)(rnd_hid_t *hid, const char *owner, rnd_attribute_list_t *attrlist); + void (*placeholder1)(rnd_hid_t *, const char *, rnd_attribute_list_t *); /* Creates a new menu and/or submenus * menu_path is a / separated path to the new menu (parents are silently created). Index: trunk/src_plugins/hid_lesstif/dialogs.c =================================================================== --- trunk/src_plugins/hid_lesstif/dialogs.c (revision 32108) +++ trunk/src_plugins/hid_lesstif/dialogs.c (revision 32109) @@ -143,11 +143,6 @@ /* ------------------------------------------------------------ */ -static void dialog_callback_ok_value(Widget w, void *v, void *cbs) -{ - pcb_ltf_ok = (int) (size_t) v; -} - int pcb_ltf_wait_for_dialog_noclose(Widget w) { pcb_ltf_ok = -1; @@ -884,302 +879,6 @@ TODO("layer: call a redraw on the edit group") } -/* ------------------------------------------------------------ */ - -typedef struct { - Widget del; - Widget w_name; - Widget w_value; -} AttrRow; - -static AttrRow *attr_row = 0; -static int attr_num_rows = 0; -static int attr_max_rows = 0; -static Widget attr_dialog = NULL, f_top; -static rnd_attribute_list_t *attributes_list; - -static void attributes_delete_callback(Widget w, void *v, void *cbs); - -static void fiddle_with_bb_layout() -{ - int i; - int max_height = 0; - int max_del_width = 0; - int max_name_width = 0; - int max_value_width = 0; - short ncolumns = 20; - short vcolumns = 20; - - for (i = 0; i < attr_num_rows; i++) { - String v; - - stdarg_n = 0; - stdarg(XmNvalue, &v); - XtGetValues(attr_row[i].w_name, stdarg_args, stdarg_n); - if (ncolumns < strlen(v)) - ncolumns = strlen(v); - - stdarg_n = 0; - stdarg(XmNvalue, &v); - XtGetValues(attr_row[i].w_value, stdarg_args, stdarg_n); - if (vcolumns < strlen(v)) - vcolumns = strlen(v); - } - - for (i = 0; i < attr_num_rows; i++) { - stdarg_n = 0; - stdarg(XmNcolumns, ncolumns); - XtSetValues(attr_row[i].w_name, stdarg_args, stdarg_n); - - stdarg_n = 0; - stdarg(XmNcolumns, vcolumns); - XtSetValues(attr_row[i].w_value, stdarg_args, stdarg_n); - } - - for (i = 0; i < attr_num_rows; i++) { - Dimension w, h; - stdarg_n = 0; - stdarg(XmNwidth, &w); - stdarg(XmNheight, &h); - - XtGetValues(attr_row[i].del, stdarg_args, stdarg_n); - if (max_height < h) - max_height = h; - if (max_del_width < w) - max_del_width = w; - - XtGetValues(attr_row[i].w_name, stdarg_args, stdarg_n); - if (max_height < h) - max_height = h; - if (max_name_width < w) - max_name_width = w; - - XtGetValues(attr_row[i].w_value, stdarg_args, stdarg_n); - if (max_height < h) - max_height = h; - if (max_value_width < w) - max_value_width = w; - } - - for (i = 0; i < attr_num_rows; i++) { - stdarg_n = 0; - stdarg(XmNx, 0); - stdarg(XmNy, i * max_height); - stdarg(XmNwidth, max_del_width); - stdarg(XmNheight, max_height); - XtSetValues(attr_row[i].del, stdarg_args, stdarg_n); - - stdarg_n = 0; - stdarg(XmNx, max_del_width); - stdarg(XmNy, i * max_height); - stdarg(XmNwidth, max_name_width); - stdarg(XmNheight, max_height); - XtSetValues(attr_row[i].w_name, stdarg_args, stdarg_n); - - stdarg_n = 0; - stdarg(XmNx, max_del_width + max_name_width); - stdarg(XmNy, i * max_height); - stdarg(XmNwidth, max_value_width); - stdarg(XmNheight, max_height); - XtSetValues(attr_row[i].w_value, stdarg_args, stdarg_n); - } - - stdarg_n = 0; - stdarg(XmNwidth, max_del_width + max_name_width + max_value_width + 1); - stdarg(XmNheight, max_height * attr_num_rows + 1); - XtSetValues(f_top, stdarg_args, stdarg_n); -} - -static void lesstif_attributes_need_rows(int new_max) -{ - if (attr_max_rows < new_max) { - if (attr_row) - attr_row = (AttrRow *) realloc(attr_row, new_max * sizeof(AttrRow)); - else - attr_row = (AttrRow *) malloc(new_max * sizeof(AttrRow)); - } - - while (attr_max_rows < new_max) { - stdarg_n = 0; - attr_row[attr_max_rows].del = XmCreatePushButton(f_top, XmStrCast("del"), stdarg_args, stdarg_n); - XtManageChild(attr_row[attr_max_rows].del); - XtAddCallback(attr_row[attr_max_rows].del, XmNactivateCallback, - (XtCallbackProc) attributes_delete_callback, (XtPointer) (size_t) attr_max_rows); - - stdarg_n = 0; - stdarg(XmNresizeWidth, True); - attr_row[attr_max_rows].w_name = XmCreateTextField(f_top, XmStrCast("name"), stdarg_args, stdarg_n); - XtManageChild(attr_row[attr_max_rows].w_name); - XtAddCallback(attr_row[attr_max_rows].w_name, XmNvalueChangedCallback, (XtCallbackProc) fiddle_with_bb_layout, NULL); - - stdarg_n = 0; - stdarg(XmNresizeWidth, True); - attr_row[attr_max_rows].w_value = XmCreateTextField(f_top, XmStrCast("value"), stdarg_args, stdarg_n); - XtManageChild(attr_row[attr_max_rows].w_value); - XtAddCallback(attr_row[attr_max_rows].w_value, XmNvalueChangedCallback, (XtCallbackProc) fiddle_with_bb_layout, NULL); - - attr_max_rows++; - } - - /* Manage any previously unused rows we now need to show. */ - while (attr_num_rows < new_max) { - XtManageChild(attr_row[attr_num_rows].del); - XtManageChild(attr_row[attr_num_rows].w_name); - XtManageChild(attr_row[attr_num_rows].w_value); - attr_num_rows++; - } -} - -static void lesstif_attributes_revert() -{ - int i; - - lesstif_attributes_need_rows(attributes_list->Number); - - /* Unmanage any previously used rows we don't need. */ - while (attr_num_rows > attributes_list->Number) { - attr_num_rows--; - XtUnmanageChild(attr_row[attr_num_rows].del); - XtUnmanageChild(attr_row[attr_num_rows].w_name); - XtUnmanageChild(attr_row[attr_num_rows].w_value); - } - - /* Fill in values */ - for (i = 0; i < attributes_list->Number; i++) { - XmTextFieldSetString(attr_row[i].w_name, attributes_list->List[i].name); - XmTextFieldSetString(attr_row[i].w_value, attributes_list->List[i].value); - } - - fiddle_with_bb_layout(); -} - -static void attributes_new_callback(Widget w, void *v, void *cbs) -{ - lesstif_attributes_need_rows(attr_num_rows + 1); /* also bumps attr_num_rows */ - XmTextFieldSetString(attr_row[attr_num_rows - 1].w_name, XmStrCast("")); - XmTextFieldSetString(attr_row[attr_num_rows - 1].w_value, XmStrCast("")); - - fiddle_with_bb_layout(); -} - -static void attributes_delete_callback(Widget w, void *v, void *cbs) -{ - int i, n; - Widget wn, wv; - - n = (int) (size_t) v; - - wn = attr_row[n].w_name; - wv = attr_row[n].w_value; - - for (i = n; i < attr_num_rows - 1; i++) { - attr_row[i].w_name = attr_row[i + 1].w_name; - attr_row[i].w_value = attr_row[i + 1].w_value; - } - attr_row[attr_num_rows - 1].w_name = wn; - attr_row[attr_num_rows - 1].w_value = wv; - attr_num_rows--; - - XtUnmanageChild(wn); - XtUnmanageChild(wv); - - fiddle_with_bb_layout(); -} - -static void attributes_revert_callback(Widget w, void *v, void *cbs) -{ - lesstif_attributes_revert(); -} - -void lesstif_attributes_dialog(rnd_hid_t *hid, const char *owner, rnd_attribute_list_t * attrs_list) -{ - Widget bform, sw, b_ok, b_cancel, b_revert, b_new; - Widget sep; - - if (attr_dialog == NULL) { - stdarg_n = 0; - stdarg(XmNautoUnmanage, False); - stdarg(XmNtitle, owner); - stdarg(XmNwidth, 400); - stdarg(XmNheight, 300); - attr_dialog = XmCreateFormDialog(mainwind, XmStrCast("attributes"), stdarg_args, stdarg_n); - - stdarg_n = 0; - stdarg(XmNrightAttachment, XmATTACH_FORM); - stdarg(XmNbottomAttachment, XmATTACH_FORM); - stdarg(XmNorientation, XmHORIZONTAL); - stdarg(XmNentryAlignment, XmALIGNMENT_CENTER); - stdarg(XmNpacking, XmPACK_COLUMN); - bform = XmCreateRowColumn(attr_dialog, XmStrCast("attributes"), stdarg_args, stdarg_n); - XtManageChild(bform); - - stdarg_n = 0; - b_ok = XmCreatePushButton(bform, XmStrCast("OK"), stdarg_args, stdarg_n); - XtManageChild(b_ok); - XtAddCallback(b_ok, XmNactivateCallback, (XtCallbackProc) dialog_callback_ok_value, (XtPointer) 0); - - stdarg_n = 0; - b_new = XmCreatePushButton(bform, XmStrCast("New"), stdarg_args, stdarg_n); - XtManageChild(b_new); - XtAddCallback(b_new, XmNactivateCallback, (XtCallbackProc) attributes_new_callback, NULL); - - stdarg_n = 0; - b_revert = XmCreatePushButton(bform, XmStrCast("Revert"), stdarg_args, stdarg_n); - XtManageChild(b_revert); - XtAddCallback(b_revert, XmNactivateCallback, (XtCallbackProc) attributes_revert_callback, NULL); - - stdarg_n = 0; - b_cancel = XmCreatePushButton(bform, XmStrCast("Cancel"), stdarg_args, stdarg_n); - XtManageChild(b_cancel); - XtAddCallback(b_cancel, XmNactivateCallback, (XtCallbackProc) dialog_callback_ok_value, (XtPointer) 1); - - stdarg_n = 0; - stdarg(XmNleftAttachment, XmATTACH_FORM); - stdarg(XmNrightAttachment, XmATTACH_FORM); - stdarg(XmNbottomAttachment, XmATTACH_WIDGET); - stdarg(XmNbottomWidget, bform); - sep = XmCreateSeparator(attr_dialog, XmStrCast("attributes"), stdarg_args, stdarg_n); - XtManageChild(sep); - - stdarg_n = 0; - stdarg(XmNtopAttachment, XmATTACH_FORM); - stdarg(XmNleftAttachment, XmATTACH_FORM); - stdarg(XmNrightAttachment, XmATTACH_FORM); - stdarg(XmNbottomAttachment, XmATTACH_WIDGET); - stdarg(XmNbottomWidget, sep); - stdarg(XmNscrollingPolicy, XmAUTOMATIC); - sw = XmCreateScrolledWindow(attr_dialog, XmStrCast("attributes"), stdarg_args, stdarg_n); - XtManageChild(sw); - - stdarg_n = 0; - stdarg(XmNmarginHeight, 0); - stdarg(XmNmarginWidth, 0); - f_top = XmCreateBulletinBoard(sw, XmStrCast("f_top"), stdarg_args, stdarg_n); - XtManageChild(f_top); - } - else { - stdarg_n = 0; - stdarg(XmNtitle, owner); - XtSetValues(XtParent(attr_dialog), stdarg_args, stdarg_n); - } - - attributes_list = attrs_list; - lesstif_attributes_revert(); - - fiddle_with_bb_layout(); - - if (pcb_ltf_wait_for_dialog(attr_dialog) == 0) { - int i; - /* Copy the values back */ - rnd_attribute_copyback_begin(attributes_list); - for (i = 0; i < attr_num_rows; i++) - rnd_attribute_copyback(attributes_list, XmTextFieldGetString(attr_row[i].w_name), XmTextFieldGetString(attr_row[i].w_value)); - rnd_attribute_copyback_end(attributes_list); - } - - return; -} - rnd_hidlib_t *ltf_attr_get_dad_hidlib(void *hid_ctx) { return ltf_hidlib; Index: trunk/src_plugins/hid_lesstif/lesstif.h =================================================================== --- trunk/src_plugins/hid_lesstif/lesstif.h (revision 32108) +++ trunk/src_plugins/hid_lesstif/lesstif.h (revision 32109) @@ -49,7 +49,6 @@ extern Pixel lesstif_parse_color(const rnd_color_t *value); extern void lesstif_update_layer_groups(); extern void lesstif_update_status_line(); -extern void lesstif_attributes_dialog(rnd_hid_t *hid, const char *, rnd_attribute_list_t *); void *lesstif_attr_sub_new(Widget parent_box, rnd_hid_attribute_t *attrs, int n_attrs, void *caller_data); char *pcb_ltf_fileselect(rnd_hid_t *hid, const char *title, const char *descr, const char *default_file, const char *default_ext, const rnd_hid_fsd_filter_t *flt, const char *history_tag, rnd_hid_fsd_flags_t flags, rnd_hid_dad_subdialog_t *sub); rnd_hidlib_t *ltf_attr_get_dad_hidlib(void *hid_ctx); Index: trunk/src_plugins/hid_lesstif/main.c =================================================================== --- trunk/src_plugins/hid_lesstif/main.c (revision 32108) +++ trunk/src_plugins/hid_lesstif/main.c (revision 32109) @@ -3026,7 +3026,6 @@ lesstif_hid.supports_dad_text_markup = 0; lesstif_hid.beep = lesstif_beep; - lesstif_hid.edit_attributes = lesstif_attributes_dialog; lesstif_hid.point_cursor = PointCursor; lesstif_hid.command_entry = lesstif_command_entry; lesstif_hid.clip_set = ltf_clip_set; Index: trunk/src_plugins/lib_gtk_common/dlg_attributes.h =================================================================== --- trunk/src_plugins/lib_gtk_common/dlg_attributes.h (revision 32108) +++ trunk/src_plugins/lib_gtk_common/dlg_attributes.h (nonexistent) @@ -1,8 +0,0 @@ -#include -#include - -void pcb_gtk_dlg_attributes(GtkWidget *top_window, const char *owner, rnd_attribute_list_t * attrs); - - - - Index: trunk/src_plugins/lib_gtk_common/dlg_attributes.c =================================================================== --- trunk/src_plugins/lib_gtk_common/dlg_attributes.c (revision 32108) +++ trunk/src_plugins/lib_gtk_common/dlg_attributes.c (nonexistent) @@ -1,204 +0,0 @@ -/* - * COPYRIGHT - * - * pcb-rnd, interactive printed circuit board design - * (this file is based on PCB, interactive printed circuit board design) - * Copyright (C) 1994,1995,1996 Thomas Nau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Contact: - * Project page: http://repo.hu/projects/pcb-rnd - * lead developer: http://repo.hu/projects/pcb-rnd/contact.html - * mailing list: pcb-rnd (at) list.repo.hu (send "subscribe") - * - */ - -/* This file written by Bill Wilson for the PCB Gtk port. */ - -#include "config.h" -#include "dlg_attributes.h" -#include - -#include -#include -#include -#include -#include - -#include "compat.h" - -typedef struct { - GtkWidget *del; - GtkWidget *w_name; - GtkWidget *w_value; -} AttrRow; - -static AttrRow *attr_row = 0; -static int attr_num_rows = 0; -static int attr_max_rows = 0; -static rnd_attribute_list_t *attributes_list; -static GtkWidget *attributes_dialog, *attr_table; - -static void attributes_delete_callback(GtkWidget * w, void *v); - -#define GA_RESPONSE_REVERT 1 -#define GA_RESPONSE_NEW 2 - -static void ghid_attr_set_table_size() -{ - gtk_table_resize(GTK_TABLE(attr_table), attr_num_rows > 0 ? attr_num_rows : 1, 3); -} - -static void ghid_attributes_need_rows(int new_max) -{ - if (attr_max_rows < new_max) { - if (attr_row) - attr_row = (AttrRow *) realloc(attr_row, new_max * sizeof(AttrRow)); - else - attr_row = (AttrRow *) malloc(new_max * sizeof(AttrRow)); - } - while (attr_max_rows < new_max) { - /* add [attr_max_rows] */ - attr_row[attr_max_rows].del = gtk_button_new_with_label("del"); - gtk_table_attach(GTK_TABLE(attr_table), attr_row[attr_max_rows].del, - 0, 1, attr_max_rows, attr_max_rows + 1, (GtkAttachOptions) (GTK_FILL | GTK_EXPAND), GTK_FILL, 0, 0); - g_signal_connect(G_OBJECT(attr_row[attr_max_rows].del), "clicked", - G_CALLBACK(attributes_delete_callback), GINT_TO_POINTER(attr_max_rows)); - - attr_row[attr_max_rows].w_name = gtk_entry_new(); - gtk_table_attach(GTK_TABLE(attr_table), attr_row[attr_max_rows].w_name, - 1, 2, attr_max_rows, attr_max_rows + 1, (GtkAttachOptions) (GTK_FILL | GTK_EXPAND), GTK_FILL, 0, 0); - - attr_row[attr_max_rows].w_value = gtk_entry_new(); - gtk_table_attach(GTK_TABLE(attr_table), attr_row[attr_max_rows].w_value, - 2, 3, attr_max_rows, attr_max_rows + 1, (GtkAttachOptions) (GTK_FILL | GTK_EXPAND), GTK_FILL, 0, 0); - - attr_max_rows++; - } - - /* Manage any previously unused rows we now need to show. */ - while (attr_num_rows < new_max) { - /* manage attr_num_rows */ - gtk_widget_show(attr_row[attr_num_rows].del); - gtk_widget_show(attr_row[attr_num_rows].w_name); - gtk_widget_show(attr_row[attr_num_rows].w_value); - attr_num_rows++; - } -} - -static void ghid_attributes_revert() -{ - int i; - - ghid_attributes_need_rows(attributes_list->Number); - - /* Unmanage any previously used rows we don't need. */ - while (attr_num_rows > attributes_list->Number) { - attr_num_rows--; - gtk_widget_hide(attr_row[attr_num_rows].del); - gtk_widget_hide(attr_row[attr_num_rows].w_name); - gtk_widget_hide(attr_row[attr_num_rows].w_value); - } - - /* Fill in values */ - for (i = 0; i < attributes_list->Number; i++) { - /* create row [i] */ - gtk_entry_set_text(GTK_ENTRY(attr_row[i].w_name), attributes_list->List[i].name); - gtk_entry_set_text(GTK_ENTRY(attr_row[i].w_value), attributes_list->List[i].value); - } - ghid_attr_set_table_size(); -} - -static void attributes_delete_callback(GtkWidget * w, void *v) -{ - int i, n; - - n = GPOINTER_TO_INT(v); - - for (i = n; i < attr_num_rows - 1; i++) { - gtk_entry_set_text(GTK_ENTRY(attr_row[i].w_name), gtk_entry_get_text(GTK_ENTRY(attr_row[i + 1].w_name))); - gtk_entry_set_text(GTK_ENTRY(attr_row[i].w_value), gtk_entry_get_text(GTK_ENTRY(attr_row[i + 1].w_value))); - } - attr_num_rows--; - - gtk_widget_hide(attr_row[attr_num_rows].del); - gtk_widget_hide(attr_row[attr_num_rows].w_name); - gtk_widget_hide(attr_row[attr_num_rows].w_value); - - ghid_attr_set_table_size(); -} - -void pcb_gtk_dlg_attributes(GtkWidget *top_window, const char *owner, rnd_attribute_list_t * attrs) -{ - GtkWidget *content_area; - int response; - - attributes_list = attrs; - - attr_max_rows = 0; - attr_num_rows = 0; - - attributes_dialog = gtk_dialog_new_with_buttons(owner, - GTK_WINDOW(top_window), - GTK_DIALOG_MODAL, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - "Revert", GA_RESPONSE_REVERT, - "New", GA_RESPONSE_NEW, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); - - attr_table = gtk_table_new(attrs->Number, 3, 0); - - content_area = gtkc_dialog_get_content_area(GTK_DIALOG(attributes_dialog)); - gtk_box_pack_start(GTK_BOX(content_area), attr_table, FALSE, FALSE, 0); - - gtk_widget_show(attr_table); - - ghid_attributes_revert(); - - while (1) { - response = gtk_dialog_run(GTK_DIALOG(attributes_dialog)); - - if (response == GTK_RESPONSE_CANCEL) - break; - - if (response == GTK_RESPONSE_OK) { - int i; - /* Copy the values back */ - rnd_attribute_copyback_begin(attributes_list); - for (i = 0; i < attr_num_rows; i++) - rnd_attribute_copyback(attributes_list, gtk_entry_get_text(GTK_ENTRY(attr_row[i].w_name)), gtk_entry_get_text(GTK_ENTRY(attr_row[i].w_value))); - rnd_attribute_copyback_end(attributes_list); - break; - } - - if (response == GA_RESPONSE_REVERT) { - /* Revert */ - ghid_attributes_revert(); - } - - if (response == GA_RESPONSE_NEW) { - ghid_attributes_need_rows(attr_num_rows + 1); /* also bumps attr_num_rows */ - - gtk_entry_set_text(GTK_ENTRY(attr_row[attr_num_rows - 1].w_name), ""); - gtk_entry_set_text(GTK_ENTRY(attr_row[attr_num_rows - 1].w_value), ""); - - ghid_attr_set_table_size(); - } - } - - gtk_widget_destroy(attributes_dialog); - free(attr_row); - attr_row = NULL; -} Index: trunk/src_plugins/lib_gtk_common/Plug.tmpasm =================================================================== --- trunk/src_plugins/lib_gtk_common/Plug.tmpasm (revision 32108) +++ trunk/src_plugins/lib_gtk_common/Plug.tmpasm (revision 32109) @@ -11,7 +11,6 @@ $(PLUGDIR)/lib_gtk_common/bu_menu.o $(PLUGDIR)/lib_gtk_common/bu_command.o $(PLUGDIR)/lib_gtk_common/dlg_attribute.o - $(PLUGDIR)/lib_gtk_common/dlg_attributes.o $(PLUGDIR)/lib_gtk_common/dlg_fileselect.o $(PLUGDIR)/lib_gtk_common/dlg_topwin.o $(PLUGDIR)/lib_gtk_common/in_keyboard.o Index: trunk/src_plugins/lib_gtk_common/glue_hid.c =================================================================== --- trunk/src_plugins/lib_gtk_common/glue_hid.c (revision 32108) +++ trunk/src_plugins/lib_gtk_common/glue_hid.c (revision 32109) @@ -16,7 +16,6 @@ #include "ui_crosshair.h" #include "dlg_fileselect.h" #include "dlg_attribute.h" -#include "dlg_attributes.h" #include "util_listener.h" #include "util_timer.h" #include "util_watch.h" @@ -294,12 +293,6 @@ gdk_beep(); } -static void ghid_attributes(rnd_hid_t *hid, const char *owner, rnd_attribute_list_t *attrs) -{ - pcb_gtk_t *gctx = hid->hid_data; - pcb_gtk_dlg_attributes(gctx->port.top_window, owner, attrs); -} - static void PointCursor(rnd_hid_t *hid, rnd_bool grabbed) { pcb_gtk_t *gctx = hid->hid_data; @@ -696,7 +689,6 @@ dst->dock_leave = ghid_dock_leave; dst->beep = ghid_beep; - dst->edit_attributes = ghid_attributes; dst->point_cursor = PointCursor; dst->benchmark = ghid_benchmark;