Index: work/gtk/layersel/layersel.c =================================================================== --- work/gtk/layersel/layersel.c (revision 8502) +++ work/gtk/layersel/layersel.c (revision 8503) @@ -5,50 +5,7 @@ GtkWidget *grp_row, *grp_closed, *grp_open, *layer[4]; } layersel_grp_t; -static GtkWidget *add_grp(layersel_grp_t *ls, const char *gname) -{ - GtkWidget *gn_vert, *grp_layers; - int n; - char tmp[32]; - -/* Layout: - +--------------------------+<- grp_row - | grp_closed | - +--------------------------+ - |+-----------------------+<--- grp_open - || gn | layer1 | | - || _v | layer2 | | - || er | layer3 | | - || t | layer4 | | - |+-----------------------+ | - +--------------------------+ -*/ - ls->grp_row = gtkc_vbox_new(0, 0); - ls->grp_closed = gtkc_hbox_new(0, 0); - ls->grp_open = gtkc_hbox_new(0, 0); - gtk_box_pack_start(GTK_BOX(ls->grp_row), ls->grp_closed, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(ls->grp_row), ls->grp_open, TRUE, TRUE, 0); - - gn_vert = gtkc_vbox_new(0, 0); - grp_layers = gtkc_vbox_new(0, 0); - gtk_box_pack_start(GTK_BOX(ls->grp_open), gn_vert, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(ls->grp_open), grp_layers, TRUE, TRUE, 0); - - gtk_box_pack_start(GTK_BOX(gn_vert), gtk_label_new(gname), TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(ls->grp_open), gtk_label_new(gname), TRUE, TRUE, 0); - - for(n = 0; n < 4; n++) { - ls->layer[n] = gtkc_hbox_new(0, 0); - gtk_box_pack_start(GTK_BOX(grp_layers), ls->layer[n], TRUE, TRUE, 0); - - sprintf(tmp, "layer %d\n", n); - gtk_box_pack_start(GTK_BOX(ls->layer[n]), gtk_label_new("[vis]"), TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(ls->layer[n]), gtk_label_new(tmp), TRUE, TRUE, 0); - } - - return ls->grp_row; -} - +/*** Layer visibility widget rendering ***/ #define set_pixel(dst, r, g, b, a) \ do { \ p[0] = r; \ @@ -114,7 +71,53 @@ return TRUE; } -/** Main widget building function */ +/*** Row builder ***/ + +static GtkWidget *add_grp(layersel_grp_t *ls, const char *gname) +{ + GtkWidget *gn_vert, *grp_layers; + int n; + char tmp[32]; + +/* Layout: + +--------------------------+<- grp_row + | grp_closed | + +--------------------------+ + |+-----------------------+<--- grp_open + || gn | layer1 | | + || _v | layer2 | | + || er | layer3 | | + || t | layer4 | | + |+-----------------------+ | + +--------------------------+ +*/ + ls->grp_row = gtkc_vbox_new(0, 0); + ls->grp_closed = gtkc_hbox_new(0, 0); + ls->grp_open = gtkc_hbox_new(0, 0); + gtk_box_pack_start(GTK_BOX(ls->grp_row), ls->grp_closed, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(ls->grp_row), ls->grp_open, TRUE, TRUE, 0); + + gn_vert = gtkc_vbox_new(0, 0); + grp_layers = gtkc_vbox_new(0, 0); + gtk_box_pack_start(GTK_BOX(ls->grp_open), gn_vert, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(ls->grp_open), grp_layers, TRUE, TRUE, 0); + + gtk_box_pack_start(GTK_BOX(gn_vert), gtk_label_new(gname), TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(ls->grp_open), gtk_label_new(gname), TRUE, TRUE, 0); + + for(n = 0; n < 4; n++) { + ls->layer[n] = gtkc_hbox_new(0, 0); + gtk_box_pack_start(GTK_BOX(grp_layers), ls->layer[n], TRUE, TRUE, 0); + + sprintf(tmp, "layer %d\n", n); + gtk_box_pack_start(GTK_BOX(ls->layer[n]), gtk_label_new("[vis]"), TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(ls->layer[n]), gtk_label_new(tmp), TRUE, TRUE, 0); + } + + return ls->grp_row; +} + +/*** Layer selector widget building function ***/ GtkWidget *pcb_gtk_layersel_build(void) { GtkWidget *main_box;