lunes, julio 11, 2005

Primer Avance de MonoBlog

Estuve tratando de liarme con el unico control que consideraba imposible del GTK, el treeview y bueno al parecer lo logre. Ahi les va un primer avance de mi codigo para visualizar Atom, me falta mejorarlo para que al momento de seleccionar un item en mi TreeView se carge la noticia respectiva pero ya lo hare despues




//VisorAtom
using System;
using System.Net;
using Atom.Core;
using Gtk;
using Glade;
using Gecko;

class AtomViewer
{

[Widget] Frame frame1;
[Widget] Entry txtURI;
[Widget] Gtk.Window wAtomViewer;
[Widget] ScrolledWindow treeframe;
WebControl web;
TreeView tv;
TreeStore store;

public static void Main()
{
new AtomViewer();
}

public AtomViewer()
{
Application.Init();

store = new TreeStore (typeof (string));

Glade.XML gxml = new Glade.XML(null,"AtomViewer.glade","wAtomViewer",null);
gxml.Autoconnect(this);

wAtomViewer.Resize(500,300);

txtURI.Activated += new EventHandler(LoadAtom);
wAtomViewer.DeleteEvent += new DeleteEventHandler(onExit);

tv = new TreeView (store);
tv.HeadersVisible = true;

tv.AppendColumn ("Post", new CellRendererText (), "text", 0);

treeframe.Add (tv);

web = new WebControl();
web.Show();

frame1.Add(web);


wAtomViewer.ShowAll();

Application.Run();

}

void LoadAtom(object o, EventArgs args)
{
web.LoadUrl(txtURI.Text);
LoadItems(txtURI.Text);
}

void onExit(object o, DeleteEventArgs args)
{
Application.Quit();
args.RetVal = true;
}

void LoadItems(string URI)
{
Console.WriteLine("LoadItems");
Uri blog = new Uri(URI);
AtomFeed feed = AtomFeed.Load(blog);
foreach (AtomEntry entry in feed.Entries)
{
Console.WriteLine(entry.Title.Content);
TreeIter iter = store.AppendValues(entry.Title.Content);
}
}

}

No hay comentarios.:

Publicar un comentario