Stetic.Editor.SelectImageDialog.SelectImageDialog C# (CSharp) Method

SelectImageDialog() public method

public SelectImageDialog ( Gtk parent, Stetic project ) : System
parent Gtk
project Stetic
return System
        public SelectImageDialog(Gtk.Window parent, Stetic.IProject project)
        {
            this.parent = parent;
            this.project = project;
            Glade.XML xml = new Glade.XML (null, "stetic.glade", "SelectImageDialog", null);
            xml.Autoconnect (this);

            // Stock icon list

            iconList = new ThemedIconList ();
            iconList.SelectionChanged += new EventHandler (OnIconSelectionChanged);
            iconScrolledwindow.AddWithViewport (iconList);

            // Icon Sizes

            foreach (IconSize s in Enum.GetValues (typeof(Gtk.IconSize))) {
                if (s != IconSize.Invalid)
                    iconSizeCombo.AppendText (s.ToString ());
            }
            iconSizeCombo.Active = 0;

            // Resource list

            resourceListStore = new Gtk.ListStore (typeof(Gdk.Pixbuf), typeof(string), typeof(string));
            resourceList.Model = resourceListStore;

            Gtk.TreeViewColumn col = new Gtk.TreeViewColumn ();

            Gtk.CellRendererPixbuf pr = new Gtk.CellRendererPixbuf ();
            pr.Xpad = 3;
            col.PackStart (pr, false);
            col.AddAttribute (pr, "pixbuf", 0);

            Gtk.CellRendererText crt = new Gtk.CellRendererText ();
            col.PackStart (crt, true);
            col.AddAttribute (crt, "markup", 1);

            resourceList.AppendColumn (col);
            resourceProvider = project.ResourceProvider;
            if (resourceProvider == null) {
                buttonAdd.Sensitive = false;
                buttonRemove.Sensitive = false;
            }
            FillResources ();
            resourceList.Selection.Changed += OnResourceSelectionChanged;

            if (project.FileName != null)
                fileChooser.SetCurrentFolder (project.ImagesRootPath);

            fileChooser.SelectionChanged += delegate (object s, EventArgs a) {
                UpdateButtons ();
            };

            fileChooser.FileActivated += delegate (object s, EventArgs a) {
                if (Icon != null) {
                    if (Validate ())
                        dialog.Respond (Gtk.ResponseType.Ok);
                }
            };

            okButton.Clicked += OnOkClicked;

            UpdateButtons ();
        }