private void DoOpen(AssemblyItem item) { string text = item.GetText(); if (text.Length > 0) { Boss boss = ObjectModel.Create("FileSystem"); var fs = boss.Get<IFileSystem>(); string file = fs.GetTempFile(item.Label.Replace(".", string.Empty), item.Extension()); try { using (StreamWriter writer = new StreamWriter(file)) { writer.WriteLine("{0}", text); } boss = ObjectModel.Create("Application"); var launcher = boss.Get<ILaunch>(); launcher.Launch(file, -1, -1, 1); } catch (Exception e) // can sometimes land here if too many files are open (max is system wide and only 256) { NSString title = NSString.Create("Couldn't process '{0}'.", file); NSString message = NSString.Create(e.Message); Unused.Value = Functions.NSRunAlertPanel(title, message); } } else { Functions.NSBeep(); } }
private void DoGetInfo(AssemblyItem item) { string text = item.GetInfo(); if (text.Length > 0) DoShowInfo(text, item.Label); else Functions.NSBeep(); }
public NSObject outlineView_objectValueForTableColumn_byItem(NSOutlineView table, NSTableColumn col, AssemblyItem item) { return NSString.Create(item.Label); }
public int outlineView_numberOfChildrenOfItem(NSOutlineView table, AssemblyItem item) { if (item == null) if (m_doc.Resources.ChildCount > 0) return 1 + m_doc.Namespaces.Length; else return m_doc.Namespaces.Length; else return item.ChildCount; }
public bool outlineView_isItemExpandable(NSOutlineView table, AssemblyItem item) { if (item == null) return true; else return item.ChildCount > 0; }
public NSObject outlineView_child_ofItem(NSOutlineView table, int index, AssemblyItem item) { if (item == null) { if (m_doc.Resources.ChildCount > 0) { if (index == 0) return m_doc.Resources; else return m_doc.Namespaces[index - 1]; } else { return m_doc.Namespaces[index]; } } else return item.GetChild(index); }