Monday, April 4, 2011

Adobe indesign, create menu, remove menu

declare menus
var menuItem1= "xxx", ...
subs = app.menus.item("$ID/Main").submenus, sma, mnu;

Find ref menu to place your menu adjusted to it, (after window)
var refItem = app.menus.item("$ID/Main").submenus.item("$ID/&Window");

add handlers

subMenu1 = app.scriptMenuActions.add(menuItem1);
subMenu1.eventListeners.add("onInvoke", 1MenuHandler);

Add menu

mnu = subs.item(mainMenu);
if( !mnu.isValid ) mnu = subs.add(mainMenu, LocationOptions.after, refItem);
mnu.menuItems.add(subMenuUpdateContent);

Remove at later part (if not required)

if (mnu.isValid)
{
mnu.remove();
}


Monday, May 24, 2010

Predicate: c# - String to Generic Type conversion

Lately I was searching about how to convert a string to another type, which is specified as Generic.

The solution is very simple and already present in the framework:



public static T To(this string text)
{
return (T)Convert.ChangeType(text, typeof(T));
}
// sample usage
int val = "124".To();
double dbl = "124.5".To();