Granite Framework (Vala,Gtk)

Captura de 2014-02-06 19:58:58

Granite ha sido desarrollado por la gente de ElementaryOS, y se trata de un Framework que proporciona varios Widgets para la interfaz de usuario (que veremos más abajo).

Podemos acceder al código de Granite (escrito en Vala) en https://code.launchpad.net/granite.

Instalación

sudo apt-get install libgranite-dev
sudo apt-get install gir1.2-granite-1.0

Características principales

LightWindow

Captura de 2014-02-06 20:25:45

Captura de 2014-02-06 21:09:10

Ahora sólo hace falta crear un Objeto Lol:

Lol ventana = new Lol ();
ventana.destroy.connect (Gtk.main_quit);
ventana.show_all ();

-AboutDialog

Captura de 2014-02-06 20:30:03

-SearchBar

Captura de 2014-02-06 20:37:47

var search_entry = new Granite.Widgets.SearchBar ("Search");

-DataPicker

var datepicker = new Granite.Widgets.DatePicker ();

-PopOver

var pop = new Granite.Widgets.PopOver ();

Dentro podemos añadir labels, crear un layout, etc.

-Tab

Captura de 2014-02-06 21:01:29

var tab = new Granite.Widgets.Tab ("user1@elementaryos: ~",new ThemedIcon ("empty"),new Gtk.Label ("Page 1"));

Tienen que ser añadidas en un DynamicNotebook.

Usar granite cuando desarrollamos en Vala

Una vez instalada la librería sólo tenemos que usarla:

Captura de 2014-02-06 20:08:48

Cuando compilemos:

valac -v main.vala  --pkg gtk+-3.0 --pkg granite

Documentación: http://valadoc.elementaryos.org/granite/index.htm


17 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   cr0t0 dijo

    Lento pero seguro viene el desarrollo de ElementaryOS. No me muevo del netinstall de Debian pero ando con ganas de probar «Isis» cuando salga.

    1.    Nsz dijo

      Y valla que si! Actualmente uso Elemenatry, vengo de Manjaro y de Arch y estoy muy agusto con algo que desde mi punto de vista es bueno, bonito y estable.
      Sin duda alguna, cuando salga isis a lo mucho espero una semana para hacer el upgrade…

      1.    rla dijo

        Otro más que viene de Arch y ha sido probar ElementaryOS por casualidad e instalarla y hasta el momento me encanta, rápidez de arranque, estabilidad, preciosa y práctica.

  2.   F3niX dijo

    Esto si es una buena iniciativa por parte de la gente de Elementary, le están poniendo corazón.

  3.   jamin-samuel dijo

    Excelenteee

  4.   pandev92 dijo

    Muy bonito, pero es gtk… RUNZ

    1.    izzyvp dijo

      Yo prefiero QT por su portabilidad.

  5.   st0rmt4il dijo

    Genial – le echare un vistazo a ver que tal.

    SaludoS!

  6.   Dante696 dijo

    Saludos. Me podrían recomendar algunos tutoriales y documentación sobre programación en GTK y Vala con el uso de Granite. Existe algún IDE que permita desarrollar de manera similar a como en VIsual Studio?. Vengo de Windows y me encantaria comenzar a probar con programación para Elementary. Gracias

  7.   desingblacksystem dijo

    instale elemenatryosluna y al reiniciar a la mañana siguiente mesalio el mensaje.

    elementaryosluna desingblacksystem-system-producto-Name tty
    elementaryosluna desingblacksystem-system-producto-Name login:

    alguien podia hacerme el enorme fabor de ayudarme plesse.

  8.   Juan Pablo dijo

    Hola Bimbo como estas… una pregunta media de Boba (proviente del Noob que soy jeje)… cuando pones

    Using Granite; <– Cargas granite

    y luego en la clase pones:

    public class APP : Granite.Application { <– Podrías darme info sobre esa parte "Granite.Applications" ?

    digo porque más arriba pones: Granite.Widgets.LightWindow entonces me pierdo jaja.

    PD: Soy el creador de la APP 'Fondo' para Elementary OS 😉
    http://deb-libre.blogspot.com.ar/2013/10/fondo-una-herramienta-interesante-para.html

    1.    lolbimbo dijo

      Bueno en ese caso (Granite.Widgets.LightWindow) es por que quiere crear una ventana LightWindow, si puesieramos otra cosa por ejemplo un Label , la clase representaría un label, creo que no me explico, es decir al lado de los «:» ponemos Granite.Application por que queremos que esa clase o dile objeto, sea una sub clase de Granite.Application

  9.   Victor dijo

    Una consulta.
    De donde puedo descargar el codigo del demo de Granite?
    Me parece de mucha ayuda para quienes nos iniciamos.

    Espero puedas responderme.

    1.    lolbimbo dijo

      Hola, Si tienes instalado Bazaar (bzr) puede bajarte el código y crear tu propia branca con bzr branch lp:granite , si no puedes bajarte-lo de este link https://launchpad.net/granite/0.3/0.3/+download/granite-0.3.0.tar.gz Dentro de la carpeta encuentras otra carpeta con el nombre Demo, hay esta el código (GraniteDemo.vala), en caso que solo quieras echarle un ojo mejor verlo online: http://bazaar.launchpad.net/~elementary-pantheon/granite/granite/view/head:/demo/GraniteDemo.vala

      1.    Victor dijo

        Muchisimas gracias.
        Otra consulta adicional. Tienes ejemplos de un headbar?
        No se como implementarlo en la aplicacion, realemente.

    2.    lolbimbo dijo

      Tienes un pequeño tutorial en mi blog, es tan sencillo como:

      var header = new Gtk.HeaderBar();
      header.set_title («Lolinuxdev»);
      header.set_subtitle («dev»);
      header.show_close_button = true;
      var button = new Gtk.Button.with_label («:)»);
      header.pack_end (button);
      app.set_titlebar (header);

  10.   stan dijo

    Thanx a lot, Amigo Muchísimas