// be sure to use a unique ID obtained from www.plugincafe.com
var PLUGIN_ID = 910001;
// be sure to use a unique ID obtained from www.plugincafe.com

// make a dialog class

class MyDialog : GeDialog
{
	public:
		MyDialog();

		Init();
		CreateLayout();
		Timer(msg);
}

MyDialog::MyDialog() { super(PLUGIN_ID); }

MyDialog::Init()
{
	SetTimer(2000); // 2 seconds
}

MyDialog::CreateLayout()
{
	SetTitle("Clock");

	AddStaticText(4000,BFH_FIT,0,0," 88 : 88 ",BORDER_THIN_IN);

	return TRUE;
}

MyDialog::Timer(msg)
{
	var t = GeGetSysTime();
	var txt = tostring(t->hour) + ":" + tostring(t->minute);

	SetString(4000,txt);
}

// register plugin in menu
class MyMenuPlugin : MenuPlugin
{
	public:
		MyMenuPlugin();

		GetID();
		GetName();
		GetHelp();
		Execute(doc);
		RestoreLayout(secret,subid);
}

MyMenuPlugin::MyMenuPlugin() { super(); }
MyMenuPlugin::GetID()        { return PLUGIN_ID; }
MyMenuPlugin::GetName()      { return "Clock"; }
MyMenuPlugin::GetHelp()      { return "Opens a little dialog with a realtime clock"; }

var d;

MyMenuPlugin::Execute(doc)
{
	d->Open(TRUE,-1,-1);
}

MyMenuPlugin::RestoreLayout(secret,subid)
{
	if (!d) d = new(MyDialog);
	d->RestoreLayout(secret);
}


main()
{
	d = new(MyDialog);

	Register(MyMenuPlugin);
}