void InitializeControls()
        {
            RequestSize = new Size (340, 210 - 85);
            Decorated = false;
            SkipPagerHint = true;
            SkipTaskbarHint = true;
            TypeHint = Gdk.WindowTypeHint.Dialog;

            store = new Gtk.TreeStore (typeof (string), typeof (Gdk.Pixbuf), typeof(ICompletionData));
            listView = new Gtk.TreeView (store);

            listView.HeadersVisible = false;

            complete_column = new Gtk.TreeViewColumn ();
            complete_column.Title = "completion";

            Gtk.CellRendererPixbuf pix_render = new Gtk.CellRendererPixbuf ();
            complete_column.PackStart (pix_render, false);
            complete_column.AddAttribute (pix_render, "pixbuf", 1);

            Gtk.CellRendererText text_render = new Gtk.CellRendererText ();
            complete_column.PackStart (text_render, true);
            complete_column.AddAttribute (text_render, "text", 0);

            listView.AppendColumn (complete_column);

            Gtk.ScrolledWindow scroller = new Gtk.ScrolledWindow ();
            scroller.Add (listView);

            Gtk.Frame frame = new Gtk.Frame ();
            frame.Add (scroller);
            this.Add(frame);

            imgList = completionDataProvider.ImageList;
            listView.KeyPressEvent += new KeyPressEventHandler(ListKeypressEvent);
            listView.KeyReleaseEvent += new KeyReleaseEventHandler(ListKeyreleaseEvent);
            listView.FocusOutEvent += new FocusOutEventHandler(LostFocusListView);
            listView.RowActivated += new RowActivatedHandler(ActivateItem);
            listView.AddEvents ((int) (Gdk.EventMask.KeyPressMask));

            /*
            Panel buttonPanel = new Panel();
            buttonPanel.Dock = DockStyle.Bottom;
            buttonPanel.Size = new Size(100, 30);

            this.Controls.Add(buttonPanel);
            */
        }