﻿function OnInit(initData) {
	initData.name = "dlg_test";
	initData.version = "1.0";
	initData.copyright = "";
	initData.desc = "";
	initData.default_enable = true;
	initData.min_version = "13.14.1";

}

// Called to add commands to Opus
function OnAddCommands(addCmdData) {
	var cmd = addCmdData.AddCommand();
	cmd.name = "dlg_test";
	cmd.method = "Ondlg_test";
	cmd.desc = "";
	cmd.label = "dlg_test";
	cmd.template = "";
	cmd.hide = false;
	cmd.icon = "script";
}

// Implement the dlg_test command
function Ondlg_test(scriptCmdData) {
	var dlg = scriptCmdData.func.dlg();
	dlg.template = 'dialog1';
	dlg.Create();
	var listedit = dlg.Control('listedit');
	var values = DOpus.NewVector('test1', 'test2');
	listedit.value = values; // same error
	dlg.Show();
	var msg;
	while (true) {
		msg = dlg.GetMsg();
		if (!msg.result) break;
		DOpus.Output('event:' + msg.event + '\t; name:' + msg.name + '\t; value:' + msg.value + '\t; data:' + msg.data + '\t; object:' + msg.object);
		if (msg.event === 'editchange' && msg.control === 'listedit') {
			values = listedit.value;
		}
		else if (msg.event === 'click' && msg.control === 'listedit') {
			if (msg.data === 1) {
				values.clear();
				listedit.value = values;
				dlg.FLushMsg();
			}
			else if (msg.data === 2) {
				//Options()
			}

		}
	}
	for (var i = 0; i < values.count; i++) {
		DOpus.Output('value ' + (i + 1) + ':' + values(i));
	}
	return;
}

==SCRIPT RESOURCES
<resources>
	<resource name="dialog1" type="dialog">
		<dialog height="202" lang="english" resize="yes" width="274">
			<control allowlocalharddisks="yes" contents="strings" editastext="yes" height="194" name="listedit" namefilter="yes" optionsbutton="yes" resetbutton="yes" resize="wh" showhidden="yes" type="listedit" width="264" x="6" y="4" />
		</dialog>
	</resource>
</resources>
