Bu derste renkli bileşenlerin nasıl oluşturulacağı anlatılmıştır
Bu derste Vala ile renkli bileşenler anlatılmıştır.
Ayrıca desenleri nasıl uygulamanın kaynağına gömebileceğimizi öğreneceğiz.
Geliştirdiğimiz uygulamada etiketlerin farklı renklerde görünmesini isteyebiliriz.
Ya da yazı tipi büyük olabilir.

Öncelikle uygulamanın ana kütüğü olan renkli.vala isimli kütüğü oluşturalım.
using Gtk;
class Pencere : Gtk.Window
{
public Pencere ()
{
this.title = "Renkli elemanlar";
this.border_width = 10;
this.set_position(Gtk.WindowPosition.CENTER);
this.set_default_size(350,200);
var ekran = this.get_screen();
var desenci = new Gtk.CssProvider();
desenci.load_from_resource("/bir/renk/sec/renkli.css");
Gtk.StyleContext.add_provider_for_screen(ekran, desenci,
Gtk.STYLE_PROVIDER_PRIORITY_USER);
var kutu = new Gtk.Box (Gtk.Orientation.VERTICAL, 10);
this.add (kutu);
var etiket = new Gtk.Label ("Selam");
kutu.add (etiket);
var etiket2 = new Gtk.Label ("Nasılsınız?");
etiket2.get_style_context().add_class("pembe");
kutu.add (etiket2);
}
}
int main (string[] secenekler)
{
Gtk.init (ref secenekler);
var pencere = new Pencere();
pencere.show_all();
pencere.destroy.connect(Gtk.main_quit);
Gtk.main();
return 0;
}
Görüldüğü gibi basit pencereli bir uygulamadır.
Pencerenin içine bir kutu ekliyoruz.
Kutuya da iki tane etiket koyuyoruz.
Desen yükleme işlemini desenci isimli bileşen üstleniyor.
Dikkat ederseniz desen bir kaynaktan yükleniyor.
Ekran bilgilerine de ihtiyaç duyuluyor.
İkinci etikete pembe isimli css sınıfını ekliyoruz.
Ana desen kütüğünün ismi renkli.css'dir.
Görülebileceği üzere oldukça basit bir html desen kütüğüdür.
window {
font-size: 64px;
}
.pembe {
color: pink;
}
.yesil {
color: green;
}
Burada window bölümünde pencerenin yazı tipi boyutunu 64 olarak belirliyoruz.
Bir tane ana desen kütüğümüz bir de kaynak kütüğümüz var.
Bu ikisi arasında nasıl bağ kurabiliriz?
Önceki derste olduğu gibi kaynağı C koduna gömebiliriz.
Ancak bu sefer pencere tasarımı yerine deseni C koduna gömebiliriz.
Bunun için renkli.xml isimli bir kütük oluşturup içine şunları girelim.
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/bir/renk/sec">
<file alias="renkli.css">renkli.css</file>
</gresource>
</gresources>
Kaynakları derlemek için aşağıdaki komutu verelim.
glib-compile-resources --generate-source --target renkli.c renkli.xml
Böylece kaynaklardan bir C kütüğü oluşturmuş olduk.
Uygulamanın tamamını derlemek için basit bir Make kütüğü oluşturabiliriz.
Aşağıdaki kütüğü Makefile ismi ile kaydediniz.
default:
glib-compile-resources --generate-source --target renkli.c renkli.xml
valac --pkg gtk+-3.0 --pkg gmodule-2.0 --gresources=renkli.xml renkli.c renkli.vala -o renkli
Uygulamayı derlemek için make yazmanız yeterlidir.
Eğer sonuç başarılı oldu ise ilk başta paylaştığımız pencereyi görebilirsiniz.
Yorumlar