Monday, November 08, 2010 at 12:06 AM.

system.verbs.builtins.table.promptNewItem

on promptNewItem (name, type) {
	local (adr);
	wp.setTextMode (false);
	local (cursor = table.getCursor ());
	loop { <<prompt user for name, and make sure it's unique
		local (prompt = string.lower (name - "new"));
		if not dialog.ask ("Name for new " + prompt + " cell?", @name) {
			return (false)};
		local (s = table.getCursor ());
		s = string (parentof (s^) + ".[\"" + name + "\"]");
		adr = address (s);
		if not defined (adr^) { <<it's unique
			break};
		if dialog.yesNo ("Replace existing \"" + name + "\"?") {
			break}};
	case type {
		'CARD' {
			adr^ = card.data.emptyCard}}
	else {
		new (type, adr)};
	bundle { <<if cursor was on new, "unknown" item, delete it
		if (cursor != "") and (typeOf (cursor^) == unknownType) {
			editMenu.clear ()}};
	<<table.gotoAddress (adr)
	<<Monday, July 28, 1997 at 9:44:50 PM by PBS
	table.gotoName (name);
	sys.systemtask ();
	return (true)}



This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.