rendered paste bodycreation:
/** GtkLabel digital clock ;) **/
widget = gtk_label_new ("00:00:00");
gtk_widget_show (widget);
object = kiba_object_new_for_widget (widget);
SET_FLAG (KIBA_OBJECT(object)->props, KIBA_OBJECT_VISIBLE);
SET_FLAG (KIBA_OBJECT(object)->props, KIBA_OBJECT_MOVEABLE);
SET_FLAG (KIBA_OBJECT(object)->props, KIBA_OBJECT_PRELIGHTABLE);
SET_FLAG (KIBA_OBJECT(object)->props, KIBA_OBJECT_BOUNCEABLE);
SET_FLAG (KIBA_OBJECT(object)->props, KIBA_OBJECT_PULSEABLE);
SET_FLAG (KIBA_OBJECT(object)->props, KIBA_OBJECT_ROTATEABLE);
SET_FLAG (KIBA_OBJECT(object)->props, KIBA_OBJECT_REFLECTABLE);
kiba_object_set_group (KIBA_OBJECT(object), "GtkLabel");
gtk_container_add(GTK_CONTAINER(object), widget);
gtk_container_add(GTK_CONTAINER(dock), object);
gtk_widget_show(object);
kiba_object_set_title (KIBA_OBJECT(object), "GtkLabel");
g_timeout_add (SECOND_INTERVAL, (GSourceFunc) clock_time_handler, widget);
timeout:
static gint clock_time_handler (gpointer data) {
GtkWidget *clock = data;
int seconds, minutes, hours, day, month;
static time_t systime;
struct tm* g_pTime;
char date[9];
time (&systime);
g_pTime = localtime (&systime);
minutes = g_pTime->tm_min;
hours = g_pTime->tm_hour;
seconds = g_pTime->tm_sec;
sprintf (date, "%s%i:%s%i:%s%i",
(hours < 10) ? "0" : "", hours,
(minutes < 10) ? "0" : "", minutes,
(seconds < 10) ? "0" : "", seconds);
gtk_label_set_text (GTK_LABEL(clock), date);
return TRUE;
}