public BlorbMetadata(Frotz.Blorb.Blorb BlorbFile) { InitializeComponent(); rtb.SizeChanged += new SizeChangedEventHandler(rtb_SizeChanged); imgCover.SizeChanged += new SizeChangedEventHandler(imgCover_SizeChanged); _blorb = BlorbFile; XmlDocument xml = new XmlDocument(); xml.LoadXml(_blorb.MetaData); int row = 0; XmlNodeList nodes; if (BlorbFile.Pictures.Count > 0) { nodes = xml.GetElementsByTagName("coverpicture"); if (nodes.Count > 0) { int id = Convert.ToInt32(nodes[0].InnerText); BitmapImage bi = new BitmapImage(); bi.BeginInit(); bi.StreamSource = new MemoryStream(BlorbFile.Pictures[id].Image); bi.EndInit(); imgCover.Source = bi; } } nodes = xml.GetElementsByTagName("bibliographic"); if (nodes.Count == 1) { foreach (XmlNode node in nodes[0].ChildNodes) { if (node.Name == "description") { wbInfo.NavigateToString(node.InnerXml); } else { String text = ""; String key = node.Name; switch (key) { case "title": { text = "Title"; this.Title = node.InnerText; } break; case "author": text = "Author"; break; case "language": text = "Language"; break; case "headline": text = "Subtitle"; break; case "firstpublished": text = "First Published"; break; case "genre": text = "Genre"; break; case "group": text = "Group"; break; case "series": text = "Series"; break; case "seriesnumber": text = "Series #"; break; } if (text == "Language") continue; // Temporary measure, since I don't want to see the language TableRow tr = new TableRow(); TableCell tc = new TableCell(new Paragraph(new Run(text))); tr.Cells.Add(tc); Paragraph p = new Paragraph(); Run r = new Run(node.InnerText); p.TextAlignment = TextAlignment.Right; p.Inlines.Add(r); tc = new TableCell(p); tr.Cells.Add(tc); trg.Rows.Add(tr); row++; } } btnOk.Focus(); } nodes = xml.GetElementsByTagName("contacts"); if (nodes.Count > 0) { var n = nodes[0]; if (n.FirstChild.Name == "url") { TableRow tr = new TableRow(); TableCell tc = new TableCell(new Paragraph(new Run("More Info"))); tr.Cells.Add(tc); Paragraph p = new Paragraph(); Hyperlink h = new Hyperlink(new Run(n.FirstChild.InnerText)); h.Focusable = false; h.Foreground = Brushes.Blue; h.IsEnabled = true; p.TextAlignment = TextAlignment.Right; h.MouseDown += new MouseButtonEventHandler(h_MouseDown); h.NavigateUri = new Uri(n.FirstChild.InnerText); h.ForceCursor = true; h.Cursor = Cursors.Hand; p.Inlines.Add(h); tc = new TableCell(p); tr.Cells.Add(tc); trg.Rows.Add(tr); } } }
/* * os_window_height * * Called when the height of a window is changed. * */ public static void set_window_size(int win, Frotz.Other.ZWindow wp) { _screen.SetWindowSize(win, wp.y_pos, wp.x_pos, wp.y_size, wp.x_size); }
public GameSelectedEventArgs(String StoryFileName, Frotz.Blorb.Blorb BlorbFile) { this.StoryFileName = StoryFileName; this.BlorbFile = BlorbFile; }