From: Maksym Veremeyenko Date: Fri, 17 Jun 2011 13:29:00 +0000 (+0300) Subject: status UI block created X-Git-Url: http://research.m1stereo.tv/gitweb?a=commitdiff_plain;h=eb06bae3e057a7ba33250efa64695eff856118ea;p=omnplay status UI block created --- diff --git a/src/omnplay.h b/src/omnplay.h index 2c3b41d..4eef5d7 100644 --- a/src/omnplay.h +++ b/src/omnplay.h @@ -60,7 +60,7 @@ typedef struct omnplay_player void* handle; pthread_t thread; pthread_mutex_t lock; - GtkWidget *label_status, *label_state, *label_cur, *label_rem, *label_clip; + GtkWidget *label_status, *label_state, *label_tc_cur, *label_tc_rem, *label_clip; } omnplay_player_t; diff --git a/src/ui.c b/src/ui.c index 53e0ed5..579eff7 100644 --- a/src/ui.c +++ b/src/ui.c @@ -150,12 +150,71 @@ static GtkWidget* pane_library(GtkWidget* top, omnplay_instance_t* app) static GtkWidget* create_channel_status(GtkWidget* top, omnplay_instance_t* app, int idx) { + GtkWidget* vbox; + GtkWidget* hbox; GtkWidget* frame; + omnplay_player_t* player; + + player = &app->players.item[idx]; - frame = gtk_frame_new (app->players.item[idx].name); -// gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); + frame = gtk_frame_new(player->name); gtk_widget_show(frame); + vbox = gtk_vbox_new(FALSE, 0); + gtk_container_add(GTK_CONTAINER(frame), vbox); + gtk_widget_show(vbox); + + /* status label */ + gtk_box_pack_start(GTK_BOX (vbox), + player->label_status = create_label(top, "OFFLINE", NULL, GTK_JUSTIFY_LEFT), + FALSE, FALSE, 0); + + /* spacel label */ + gtk_box_pack_start(GTK_BOX (vbox), + create_label(top, " ", NULL, GTK_JUSTIFY_CENTER), + FALSE, FALSE, 0); + + /* clip label */ + gtk_box_pack_start (GTK_BOX (vbox), + player->label_clip = create_label(top, "U0002323", NULL, GTK_JUSTIFY_LEFT), + FALSE, FALSE, 0); + + /* block state/current timecode */ + gtk_box_pack_start(GTK_BOX (vbox), + hbox = gtk_hbox_new(TRUE, 0), + FALSE, FALSE, 0); + gtk_widget_show(hbox); + + { + /* clip state */ + gtk_box_pack_start(GTK_BOX (hbox), + player->label_state = create_label(top, "PLAYING", NULL, GTK_JUSTIFY_LEFT), + TRUE, TRUE, 0); + + /* current timecode */ + gtk_box_pack_start(GTK_BOX (hbox), + player->label_tc_cur = create_label(top, "00:00:00:00", NULL, GTK_JUSTIFY_LEFT), + TRUE, TRUE, 0); + }; + + /* block remain label/remain timecode */ + gtk_box_pack_start(GTK_BOX (vbox), + hbox = gtk_hbox_new(TRUE, 0), + FALSE, FALSE, 0); + gtk_widget_show (hbox); + + { + /* label */ + gtk_box_pack_start(GTK_BOX (hbox), + create_label(top, "remain:", NULL, GTK_JUSTIFY_LEFT), + TRUE, TRUE, 0); + + /* remaining timecode */ + gtk_box_pack_start(GTK_BOX (hbox), + player->label_tc_rem = create_label(top, "00:00:00:00", NULL, GTK_JUSTIFY_LEFT), + TRUE, TRUE, 0); + }; + return frame; }