Merge remote-tracking branch 'andrew0/editor_hooks'

This commit is contained in:
Corey Donohoe
2012-04-10 17:50:02 -07:00
@@ -168,6 +168,9 @@
}, },
setActiveLanguage: function( name ) { setActiveLanguage: function( name ) {
if(LanguageDefinition.getHookFunctionFor("deactivate")) {
LanguageDefinition.getHookFunctionFor("deactivate")();
}
if ( !LanguageDefinition.isLoadedFor(name) ) { if ( !LanguageDefinition.isLoadedFor(name) ) {
LanguageDefinition._ACTIVE_LANG = null; LanguageDefinition._ACTIVE_LANG = null;
LanguageDefinition.loadFor( name, function(x, t) { LanguageDefinition.loadFor( name, function(x, t) {
@@ -186,13 +189,33 @@
FormatSelector.updateSelected(); FormatSelector.updateSelected();
} }
if(LanguageDefinition.getHookFunctionFor("activate")) {
LanguageDefinition.getHookFunctionFor("activate")();
}
} ); } );
} else { } else {
LanguageDefinition._ACTIVE_LANG = name; LanguageDefinition._ACTIVE_LANG = name;
FunctionBar.refresh(); FunctionBar.refresh();
if(LanguageDefinition.getHookFunctionFor("activate")) {
LanguageDefinition.getHookFunctionFor("activate")();
}
} }
}, },
getHookFunctionFor: function(attr, specified_lang) {
if ( !specified_lang ) {
specified_lang = LanguageDefinition._ACTIVE_LANG;
}
if ( LanguageDefinition.isLoadedFor(specified_lang) &&
LanguageDefinition._LANG[specified_lang][attr] &&
typeof LanguageDefinition._LANG[specified_lang][attr] == 'function' ) {
return LanguageDefinition._LANG[specified_lang][attr];
}
return null;
},
/** /**
* gets a definition object for a specified attribute * gets a definition object for a specified attribute