Stetic.SteticMain.OpenWindow C# (CSharp) Method

OpenWindow() static private method

static private OpenWindow ( ProjectItemInfo item ) : void
item ProjectItemInfo
return void
        static void OpenWindow(ProjectItemInfo item)
        {
            Gtk.Widget page = (Gtk.Widget) openWindows [item];
            if (page != null) {
                page.Show ();
                WidgetNotebook.Page = WidgetNotebook.PageNum (page);
            }
            else {
                DesignerView view = new DesignerView (Project, item);

                // Tab label

                HBox tabLabel = new HBox ();
                tabLabel.PackStart (new Gtk.Image (item.Component.Type.Icon), true, true, 0);
                tabLabel.PackStart (new Label (item.Name), true, true, 3);
                Button b = new Button (new Gtk.Image ("gtk-close", IconSize.Menu));
                b.Relief = Gtk.ReliefStyle.None;
                b.WidthRequest = b.HeightRequest = 24;

                b.Clicked += delegate (object s, EventArgs a) {
                    view.Hide ();
                    WidgetNotebook.QueueResize ();
                };

                tabLabel.PackStart (b, false, false, 0);
                tabLabel.ShowAll ();

                // Notebook page

                int p = WidgetNotebook.AppendPage (view, tabLabel);
                view.ShowAll ();
                openWindows [item] = view;
                WidgetNotebook.Page = p;
            }
        }