public void Reload() { if (Child != null) { Child.Destroy(); } if (context.vertical) { Expander expander = new Expander(title + ": " + obj.name) { Expanded = true }; expander.Add(UIFactory.GenerateVertical(obj)); Add(expander); } else { HBox headerBox = new HBox(false, 0); headerBox.PackStart(new Label(title + ": "), false, false, 0); headerBox.PackStart(obj.GetHeader(context.butCompact), false, false, 0); Add(headerBox); } ShowAll(); }
public void Inspect(IGUIComplete obj) { // Clean up prior attachments if (Child != null) { Child.Destroy(); } DependencyManager.DisconnectAll(this); ShowAll(); // Handle inspection request this.obj = obj; if (obj == null) { Hide(); } else { DependencyManager.Connect(obj, this); DependencyManager.Connect(Game.UIKey, this); if (Child != null) { Child.Destroy(); } VBox mainbox = new VBox(false, 0); mainbox.PackStart(obj.GetHeader(new Context(obj)), false, false, 10); mainbox.PackStart(new HSeparator(), false, false, 0); mainbox.PackStart(UIFactory.GenerateVertical(obj), true, true, 5); AddWithViewport(mainbox); if (!Visible) { Unhidden.Invoke(this, new EventArgs()); } ShowAll(); } }