コード例 #1
0
ファイル: Main.cs プロジェクト: lanicon/TreemapViewer
    static void SetSize(TreemapRenderer r, int width, int height)
    {
        Size available = new Size(width, height);

        r.Measure(available);
        r.Arrange(new Rect(0, 0, width, height));
    }
コード例 #2
0
 /// <summary>Constructs the <see cref="SettingsService"/>.</summary>
 public SettingsService(UIService ui,
                        TreemapRendererFactory treemapFactory)
 {
     this.ui = ui;
     treemap = treemapFactory.Create();
     Reset();
 }
コード例 #3
0
 /// <summary>Constructs the <see cref="SettingsService"/>.</summary>
 public SettingsService(IUIService ui,
                        IBitmapFactory bitmapFactory,
                        TreemapRendererFactory treemapFactory)
 {
     this.ui            = ui;
     this.bitmapFactory = bitmapFactory;
     treemap            = treemapFactory.Create();
     Reset();
 }
コード例 #4
0
        /// <summary>Constructs the <see cref="GraphViewModel"/>.</summary>
        public GraphViewModel(SettingsService settings,
                              TreemapRendererFactory treemapFactory,
                              UIService ui)
        {
            this.settings = settings;
            treemap       = treemapFactory.Create();
            this.ui       = ui;

            this.settings.PropertyChanged += OnSettingsPropertyChanged;

            resizeTimer = this.ui.CreateTimer(TimeSpan.FromSeconds(0.05), true, OnResizeTick);
            isEnabled   = true;
        }
コード例 #5
0
ファイル: App.xaml.cs プロジェクト: lanicon/TreemapViewer
        void LoadNodesFromString(String s)
        {
            Node n = LoadNodes(s, "Size", "Extra");

            while (n.Children.Count == 1)
            {
                n = n.Children[0];
            }

            treemap = new TreemapRenderer(n, "");
            Grid.SetColumn(treemap, 0);
            Grid.SetRow(treemap, 1);
            main.grid.Children.Add(treemap);
        }
コード例 #6
0
ファイル: Main.cs プロジェクト: lanicon/TreemapViewer
    public static void Main(string[] args)
    {
        Node n = null;

        if (args.Length == 0)
        {
            Console.WriteLine("Must specify the XML file with the data to load");
            return;
        }
        try {
            n = LoadNodes(args [0], "Size", "Foo");
        } catch {
            Console.WriteLine("Unable to load {0}", args [0]);
            throw;
        }

        Gtk.Application.Init();
        MoonlightRuntime.Init();

        Gtk.Window w = new Gtk.Window("Foo");
        var        v = new Gtk.VBox(false, 0);

        w.DeleteEvent += delegate {
            Gtk.Application.Quit();
        };

        w.SetSizeRequest(width, height);
        MoonlightHost h = new MoonlightHost();

        v.PackStart(h, true, true, 0);
        var back = new Gtk.Button("Back");

        v.PackStart(back, false, false, 0);
        w.Add(v);

        w.ShowAll();

        // Make it pretty, skip all levels that are just 1 element
        while (n.Children.Count == 1)
        {
            n = n.Children [0];
        }

        // Render
        TreemapRenderer r = new TreemapRenderer(n, "");

        r.KeyDown += delegate(object sender, KeyEventArgs e) {
            if (e.Key == Key.Back)
            {
                r.Back();
            }
        };

        back.Clicked += delegate {
            r.Back();
        };

        SetSize(r, width, height);

        h.Application.RootVisual = r;

        w.ResizeChecked += delegate(object sender, EventArgs e) {
            int new_width, new_heigth;
            w.GetSize(out new_width, out new_heigth);

            SetSize(r, new_width, new_heigth);;
        };

        Gtk.Application.Run();
    }
コード例 #7
0
ファイル: Main.cs プロジェクト: mono/TreemapViewer
    public static void Main(string[] args)
    {
        Node n = null;

        if (args.Length == 0){
            Console.WriteLine ("Must specify the XML file with the data to load");
            return;
        }
        try {
            n = LoadNodes (args [0], "Size", "Foo");
        } catch {
            Console.WriteLine ("Unable to load {0}", args [0]);
            throw;
        }

        Gtk.Application.Init ();
        MoonlightRuntime.Init ();

        Gtk.Window w = new Gtk.Window ("Foo");
        var v = new Gtk.VBox (false, 0);

        w.DeleteEvent += delegate {
            Gtk.Application.Quit ();
        };

        w.SetSizeRequest (width, height);
        MoonlightHost h = new MoonlightHost ();

        v.PackStart (h, true, true, 0);
        var back = new Gtk.Button ("Back");
        v.PackStart (back, false, false, 0);
        w.Add (v);

        w.ShowAll ();

        // Make it pretty, skip all levels that are just 1 element
        while (n.Children.Count == 1)
            n = n.Children [0];

        // Render
        TreemapRenderer r = new TreemapRenderer (n, "");
        r.KeyDown += delegate (object sender, KeyEventArgs e) {
            if (e.Key == Key.Back)
                r.Back ();
        };

        back.Clicked += delegate {
            r.Back ();
        };

        SetSize (r, width, height);

        h.Application.RootVisual = r;

        w.ResizeChecked += delegate(object sender, EventArgs e) {
            int new_width, new_heigth;
            w.GetSize (out new_width, out new_heigth);

            SetSize (r, new_width, new_heigth);;
        };

        Gtk.Application.Run ();
    }
コード例 #8
0
ファイル: Main.cs プロジェクト: mono/TreemapViewer
 static void SetSize(TreemapRenderer r, int width, int height)
 {
     Size available = new Size (width, height);
     r.Measure (available);
     r.Arrange (new Rect (0, 0, width, height));
 }
コード例 #9
0
ファイル: App.xaml.cs プロジェクト: mono/TreemapViewer
        void LoadNodesFromString(String s)
        {
            Node n = LoadNodes(s, "Size", "Extra");
            while (n.Children.Count == 1)
                n = n.Children[0];

            treemap = new TreemapRenderer(n, "");
            Grid.SetColumn(treemap, 0);
            Grid.SetRow(treemap, 1);
            main.grid.Children.Add(treemap);
        }