diff --git a/epan/uat.c b/epan/uat.c index fdf93f5524..64a888e141 100644 --- a/epan/uat.c +++ b/epan/uat.c @@ -232,6 +232,7 @@ static void putfld(FILE* fp, void* rec, uat_field_t* f) { f->cb.tostr(rec,&fld_ptr,&fld_len,f->cbdata.tostr,f->fld_data); switch(f->mode){ + case PT_TXTMOD_NONE: case PT_TXTMOD_ENUM: case PT_TXTMOD_FILENAME: case PT_TXTMOD_DIRECTORYNAME: diff --git a/epan/uat.h b/epan/uat.h index 682c4b1e2c..f127d27420 100644 --- a/epan/uat.h +++ b/epan/uat.h @@ -472,6 +472,9 @@ static void basename ## _ ## field_name ## _tostr_cb(void* rec, const char** out #define UAT_FLD_DEC(basename,field_name,title,desc) \ {#field_name, title, PT_TXTMOD_STRING,{uat_fld_chk_num_dec,basename ## _ ## field_name ## _set_cb,basename ## _ ## field_name ## _tostr_cb},{0,0,0},0,desc,FLDFILL} +#define UAT_FLD_NONE(basename,field_name,title,desc) \ + {#field_name, title, PT_TXTMOD_NONE,{uat_fld_chk_num_dec,basename ## _ ## field_name ## _set_cb,basename ## _ ## field_name ## _tostr_cb},{0,0,0},0,desc,FLDFILL} + /* * HEX Macros, diff --git a/ui/gtk/uat_gui.c b/ui/gtk/uat_gui.c index 95a5d53dfb..bd566095c8 100644 --- a/ui/gtk/uat_gui.c +++ b/ui/gtk/uat_gui.c @@ -180,6 +180,7 @@ static char *fld_tostr(void *rec, uat_field_t *f) { f->cb.tostr(rec, &ptr, &len, f->cbdata.tostr, f->fld_data); switch(f->mode) { + case PT_TXTMOD_NONE: case PT_TXTMOD_STRING: case PT_TXTMOD_ENUM: case PT_TXTMOD_FILENAME: @@ -352,6 +353,7 @@ static gboolean uat_dlg_cb(GtkWidget *win _U_, gpointer user_data) { len = (unsigned) strlen(text); break; } + case PT_TXTMOD_NONE: break; default: g_assert_not_reached(); return FALSE; @@ -526,6 +528,7 @@ static void uat_edit_dialog(uat_t *uat, gint row, gboolean copy) { ws_gtk_grid_attach_defaults(GTK_GRID(main_grid), entry, 1, colnum, 1, 1); break; + case PT_TXTMOD_NONE: case PT_TXTMOD_STRING: case PT_TXTMOD_HEXBYTES: entry = gtk_entry_new(); @@ -534,7 +537,10 @@ static void uat_edit_dialog(uat_t *uat, gint row, gboolean copy) { } g_ptr_array_add(dd->entries, entry); ws_gtk_grid_attach_defaults(GTK_GRID(main_grid), entry, 1, colnum, 1, 1); - dlg_set_activate(entry, bt_ok); + if (f[colnum].mode != PT_TXTMOD_NONE) + dlg_set_activate(entry, bt_ok); + else + gtk_editable_set_editable(GTK_EDITABLE(entry), FALSE); break; case PT_TXTMOD_ENUM: { diff --git a/ui/qt/uat_dialog.cpp b/ui/qt/uat_dialog.cpp index ff05905a0d..9966418f80 100644 --- a/ui/qt/uat_dialog.cpp +++ b/ui/qt/uat_dialog.cpp @@ -164,6 +164,7 @@ QString UatDialog::fieldString(guint row, guint column) field->cb.tostr(rec, &str, &length, field->cbdata.tostr, field->fld_data); switch(field->mode) { + case PT_TXTMOD_NONE: case PT_TXTMOD_STRING: case PT_TXTMOD_ENUM: case PT_TXTMOD_FILENAME: @@ -291,6 +292,7 @@ void UatDialog::on_uatTreeWidget_itemActivated(QTreeWidgetItem *item, int column saved_combo_idx_ = cur_combo_box_->currentIndex(); break; } + case PT_TXTMOD_NONE: break; default: g_assert_not_reached(); break;