Changeset 9129


Ignore:
Timestamp:
Sep 17, 2009, 1:21:49 AM (12 years ago)
Author:
charles
Message:

add a way to tell the hig workarea which widget(s) to stretch vertically when the workarea is resized by the user

Location:
trunk/gtk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/gtk/hig.c

    r8097 r9129  
    126126}
    127127
     128static void
     129hig_workarea_add_tall_control( GtkWidget * t,
     130                               int         row,
     131                               GtkWidget * control )
     132{
     133    if( GTK_IS_MISC( control ) )
     134        gtk_misc_set_alignment( GTK_MISC( control ), 0.0f, 0.5f );
     135
     136    gtk_table_attach( GTK_TABLE( t ), control,
     137                      1, 2, row, row + 1,
     138                      GTK_EXPAND | GTK_SHRINK | GTK_FILL,
     139                      GTK_EXPAND | GTK_SHRINK | GTK_FILL,
     140                      0, 0 );
     141}
     142
    128143void
    129144hig_workarea_add_control( GtkWidget * t,
     
    167182}
    168183
     184GtkWidget*
     185hig_workarea_add_tall_row( GtkWidget *  table,
     186                           int *        row,
     187                           const char * mnemonic_string,
     188                           GtkWidget *  control,
     189                           GtkWidget *  mnemonic )
     190{
     191    GtkWidget * l = gtk_label_new_with_mnemonic( mnemonic_string );
     192    GtkWidget * h = gtk_hbox_new( FALSE, 0 );
     193    GtkWidget * v = gtk_vbox_new( FALSE, 0 );
     194    gtk_box_pack_start( GTK_BOX( h ), l, FALSE, FALSE, 0 );
     195    gtk_box_pack_start( GTK_BOX( v ), h, FALSE, FALSE, GUI_PAD_SMALL );
     196
     197    hig_workarea_add_label_w( table, *row, v );
     198    hig_workarea_add_tall_control( table, *row, control );
     199
     200    if( GTK_IS_LABEL( l ) )
     201        gtk_label_set_mnemonic_widget( GTK_LABEL( l ),
     202                                       mnemonic ? mnemonic : control );
     203
     204    ++ * row;
     205    return l;
     206}
     207
    169208void
    170209hig_workarea_finish( GtkWidget * t,
  • trunk/gtk/hig.h

    r7658 r9129  
    5555                                     GtkWidget * control );
    5656
     57GtkWidget* hig_workarea_add_tall_row( GtkWidget *  table,
     58                                      int *        row,
     59                                      const char * mnemonic_string,
     60                                      GtkWidget *  control,
     61                                      GtkWidget *  mnemonic_or_null_for_control );
     62
    5763GtkWidget* hig_workarea_add_row( GtkWidget *  table,
    5864                                 int *        row,
Note: See TracChangeset for help on using the changeset viewer.