Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: [Wireshark-dev] gtk layout help in new LTE MAC statistics window

From: Martin Mathieson <martin.r.mathieson@xxxxxxxxxxxxxx>
Date: Mon, 23 Feb 2009 16:19:10 +0000
Hi,

I'm struggling to create a satisfactory layout for the LTE MAC statistics window that I just checked in, and would really appreciate any help I can get from someone who is more familiar with gtk programming.

What I'd like to have are 3 areas:

(1) Common channel counters at the top.  This should be a fixed-sized table with just one row where common channel counters are displayed.  2 rows (one for BCH and one for PCH) might be nicer, but I'd still want a fixed size).

(2) Per-UE (User Equipment) data, where each row shows high-level details counters for that UE (and where the first column, RNTI, is the key).  This table can have lots of rows, and they should be scrolled.  When the whole window is stretched vertically, I'd like this area to expand and the other parts to maintain their fixed sizes

(3) Single UE counters in more detail.  i.e. more details about the UE that is currently selected in (2).  This should have 4 fixed rows.


The heirarchy of gtk objects is as follows:

- mac_lte_stat_dlg_w is the global, top-level widget
    - inside that is a top-level vbox (created with homogeneous set to FALSE)
    - its packed with expand=FALSE
        - (1) has root mac_lte_stat_common_channel_lb
            - common_vb
                - common_scrolled_window
        - (2) has root mac_lte_stat_ues_lb
            - ues_vb
                - ues_scrolled_window
        - (3) has root mac_lte_stat_selected_ue_lb
            - selected_ue_vb
                - selected_ue_scrolled_window

I've tried playing around with things like:
- flags to gtk_pack_box_start()
- passing GtkAdjustments to scrolled_window_new()

but these didn't make the difference that I expected them to.  Could someone give me any pointers to how I'd change things to get the beaviour I want?

Thanks,
Martin