static void mol_rename_cb(Fl_Widget *w, void *v) { VMDApp *app = (VMDApp *)w->user_data(); MolBrowser *browser = (MolBrowser *)v; int molid=-1; for (int i=0; i<browser->size(); i++) if (browser->selected(i+1)) { molid = app->molecule_id(i); break; } if (molid < 0) return; // this code snippet is replicated in MolBrowser.C: const char *oldname = app->molecule_name(molid); const char *newname = fl_input("Enter a new name for molecule %d:", oldname, molid); if (newname) app->molecule_rename(molid, newname); }