Pencereli uygulamalar 2

Bu derste bir çatı oluşturmaya çalışıyoruz

Giriş

Önceki derste Vala ve D dilleri ile selam vermiştik.

Bir inşaat yaptığımızı düşünelim. Bu inşaatın temellerini atmamız ve hafriyat çalışmalarını yapmamız gerekir.

Bu derste de, Allah'ın izni ile Vala ve D dilleri ile bir uygulamanın temelini nasıl yazabiliriz ona bakmaya çalışalım.

Çayı ocağa koy

İlk önce D örneğine bakalım.

import gio.Application : Uygulamamız = Application;
import gtk.Application;
import gtk.ApplicationWindow;
import gtk.Label;

class Ocak : ApplicationWindow
{
    this (Application uygulama)
    {
        super(uygulama);
        setTitle("Çay");
        setDefaultSize(800, 600);
        add (new Label("Çayı ocağa koy"));
    }
}

class Uygulama : Application
{
    this()
    {
        super("cayi.ocaga.koy", GApplicationFlags.FLAGS_NONE);
        pencereOluştur();
    }

    void pencereOluştur()
    {
        this.addOnActivate(delegate void(Uygulamamız uygulamamız)
                           {
                               auto pencere = new Ocak(this);
                               pencere.showAll();
                           });
    }
}

int main (string[] çorbalar)
{
    auto uygulama = new Uygulama();
    return uygulama.run(çorbalar);
}

Çayı ocaktan al

Vala örneğimiz ise şu şekildedir.

class Ocak : Gtk.ApplicationWindow
{
    public Ocak(Uygulama uygulama)
    {
        Object(application:uygulama, title:"Çay");
        set_default_size(800, 600);
        add(new Gtk.Label("Çayı ocaktan al"));
    }
}

class Uygulama : Gtk.Application
{
    public Uygulama()
    {
        Object (application_id: "cayi.ocaktan.al");
    }
    protected override void activate()
    {
        var pencere = new Ocak(this);
        pencere.show_all();
    }
}

int main (string[] corbalar)
{
    Uygulama uygulama = new Uygulama();
    return uygulama.run(corbalar);
}

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.