static private InitializeItemHandler ( SolutionItem item ) : void | ||
item | SolutionItem | |
return | void |
internal static void InitializeItemHandler (SolutionItem item)
{
SolutionEntityItem eitem = item as SolutionEntityItem;
if (eitem != null) {
foreach (ItemTypeNode node in GetItemTypeNodes ()) {
if (node.CanHandleItem (eitem)) {
node.InitializeHandler (eitem);
foreach (DotNetProjectSubtypeNode snode in GetItemSubtypeNodes ()) {
if (snode.CanHandleItem (eitem))
snode.InitializeHandler (eitem);
}
return;
}
}
}
else if (item is SolutionFolder) {
MSBuildHandler h = new MSBuildHandler (FolderTypeGuid, null);
h.Item = item;
item.SetItemHandler (h);
}
}
public void WriteFile(FilePath file, object obj, IProgressMonitor monitor) { if (slnFileFormat.CanWriteFile(obj, this)) { slnFileFormat.WriteFile(file, obj, this, true, monitor); } else { SolutionEntityItem item = (SolutionEntityItem)obj; if (!(item.ItemHandler is MSBuildProjectHandler)) { MSBuildProjectService.InitializeItemHandler(item); } MSBuildProjectHandler handler = (MSBuildProjectHandler)item.ItemHandler; handler.SetSolutionFormat(this, false); handler.Save(monitor); } }