예제 #1
0
        private void Refresh()
        {
            box.Show();

            try {
                if (left is string)
                {
                    diff = new Diff((string)left, (string)right, true, true);
                }
                else if (left is string[])
                {
                    diff = new Diff((string[])left, (string[])right, null, null);
                }
            } catch (Exception e) {
                Console.Error.WriteLine(e.ToString());
                return;
            }

            if (widget != null)
            {
                pos = widget.Position;
                box.Remove(widget);
                widget.Dispose();
            }

            DiffWidget.Options opts = new DiffWidget.Options();
            opts.Font      = DesktopService.DefaultMonospaceFont;
            opts.LeftName  = "Repository";
            opts.RightName = "Working Copy";
            widget         = new DiffWidget(diff, opts);

            box.Add(widget);
            box.ShowAll();

            widget.ExposeEvent += new ExposeEventHandler(OnExposed);
        }