

// deal with 'Fancy date' menu entry, keypress and button

int fancydte_entry(int entry, int subcode)
{
 int i;
 string s, f;

 if(activetype(TEXTFRAME) <= 1)
  return(0);

 gettimeformat(f, s);

 // switch off superscript and subscript if they are already on
 if(geteffect() & SUPERSCRIPT)
  seteffect(SUPERSCRIPT);
 if(geteffect() & SUBSCRIPT)
  seteffect(SUBSCRIPT);

 i = (+f) / "%ST";
 if(i == -1)
 {
  gettimestring(f, s); 
  type(s);
 }
 else
 {
  gettimestring(mids(f, 0, i), s); 
  type(s);
  seteffect(SUPERSCRIPT);
  gettimestring(mids(f, i, 3), s); 
  type(s);
  seteffect(SUPERSCRIPT);
  gettimestring(mids(f, i + 3, slen(f)), s); 
  type(s);
 }
 return(0);
}


// shade or un-shade 'Fancy date' menu entry

int fancydte_flags(int entry, string &text)
{
 return((activetype(TEXTFRAME) > 1) ? 0 : SHADED);
}


// add 'Fancy date' option to Applets menu

void main(void)
{
 string help = "{FANCYDTE_01}";

 script_menu_initialise();
 addentry_menu(script_handle, "fancydte_entry", "fancydte_flags", "", "C_D", "{FANCYDTE_00}");

 if(isdefmacro("fancydte") == -1)
 {
  translate(help);
  defmacro2(0, "fancydte" ,"{if(activetype(TEXTFRAME)>1) fancydte_entry(0, 0);else bbc_vdu(7)}" ,"fancydte", help);
 }
}
