Jumat, 20 Februari 2015

GTK Programming : GtkLinkButton


GtkLinkButton adalah widget turunan GtkButton dengan tambahan hyperlink. Widget ini sesuai untuk menaruh link website pada aplikasi. Saat pengguna mengeklik widget ini, browser default akan terbuka untuk membuka link yang  telah ditentukan. Sebenarnya bukan hanya untuk link ke website, bisa juga link ke folder, file, printer, dll. Semuanya tergantung parameter URI. Misalnya, “http://www.komputoo.com”, maka sistem akan membuka browser dan membuka link, atau “file:///home/irvan/”, maka sistem akan membuka file manager pada lokasi folder tersebut dan satu lagi contoh URI yang sering digunakan, “mailto:cinta@kamu.com”, URI ini akan membuka software pengelola email.

Let's Start
Ada 2 fungsi yang disediakan GTK untuk membuat GtkLinkButton, yaitu, gtk_link_button_new() dan gtk_link_button_new_with_label(). Fungsi pertama hanya memiliki 1 buah parameter string, berupa alamat URI. Label yang akan ditampilkan widget adalah string URI itu sendiri. Funsi yang kedua bentuknya hampir sama, hanya saja ada 1 parameter lagi, berupa sting yang menentukan label link button. Fungsi kedua ini kita pilih jika kita ingin menampilkan label sesuai keinginan.
GtkWidget *gtk_link_button_new (const gchar *uri);

GtkWidget *gtk_link_button_new_with_label (const gchar *uri, const gchar *label);


Source Code
#include<gtk/gtk.h>

int main(int argc, char *argv[])
{
    GtkWidget *window, *box, *link1, *link2, *link3;
    gtk_init(&argc, &argv);
    //window baru
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(window),"GtkLinkButton");
    //buat gtkbox horisontal lalu pasang ke window
    box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10);
    gtk_container_add(GTK_CONTAINER(window), box);
    //buat linkbutton
    link1 = gtk_link_button_new("http://www.komputoo.com");
    link2 = gtk_link_button_new_with_label("http://www.facebook.com/komputoo", "Komputoo's Facebook");
    link3 = gtk_link_button_new_with_label("file:///home/", "Buka folder /home");
    //pasang widget ke box
    gtk_box_pack_start(GTK_BOX(box),link1,TRUE,TRUE,10);
    gtk_box_pack_start(GTK_BOX(box),link2,TRUE,TRUE,10);
    gtk_box_pack_start(GTK_BOX(box),link3,TRUE,TRUE,10);
    //tampilkan widget
    gtk_widget_show_all(window);
    gtk_main();
    return 0;
}


Lebih Jauh dengan GtkLinkButton

Ada beberapa fungsi lagi yang dapat Anda pelajari sendiri. Seperti biasa, tentu saja penerapan fungsi tambahan ini sengaja tidak saya sertakan dalam source code.

gtk_link_button_get_uri()

Fungsi ini digunakan untuk mendapatkan URI dari GtkLinkButton. Parameter link_button adalah widget yang diinginkan, lalu return value berupa pointer ke string URI.
const gchar *gtk_link_button_get_uri (GtkLinkButton *link_button);

gtk_link_button_set_uri()
Fungsi ini digunakan untuk mengupdate/mengubah URI widget GtkLinkButton. Paramater pertama adalah widget yang ingin diubah dan parameter kedua adalah string URI yang baru.
void gtk_link_button_set_uri (GtkLinkButton *link_button, const gchar *uri);

gtk_link_button_get_visited()
Fungsi ini digunakan untuk mengetahui apakah link sudah pernah dikunjungi sebelumnya. Parameternya adalah widget GtkLinkButton yang diinginkan. Jika sudah pernah return value bernilai 1 atau sama dengan GTK_TRUE.
gboolean gtk_link_button_get_visited (GtkLinkButton *link_button);


gtk_link_button_set_visited()
Sebuah link dinyatakan visited (sudah pernah dikunjungi) tepat setelah user mengeklik link button pertama kali. Jika Anda ingin mengubah status menjadi visited ataupun sebaliknya, gunakan fungsi ini. Seperti biasa, parameter pertama adalah widget GtkLinkButton yang dinginkan dan parameter kedua adalah status yang diinginkan. Nilai 0 atau GTK_FALSE artinya link belum pernah dikunjungi, sementara nilai 1 atau GTK_TRUE bermaksud sebaliknya.
void gtk_link_button_set_visited (GtkLinkButton *link_button, gboolean visited);


Hasil

Load disqus comments

0 comments