perf hists browser: Override ui_browser refresh_dimensions method
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 357cfff1c2173b7aedc0e521a2146b78396171e0 Gitweb: http://git.kernel.org/tip/357cfff1c2173b7aedc0e521a2146b78396171e0 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Tue, 1 Jul 2014 17:01:01 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Mon, 7 Jul 2014 12:36:55 -0300
perf hists browser: Override ui_browser refresh_dimensions method
This requires some more work so that we can really just use the width of current entries when we want to partition the screen.
Right now its just a prep patch so that we can have where to update ui_browser->rows when introducing the column headers line, that will be togglable, so we need to update it everytime we refresh the dimensions of the browser.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/ui/browsers/hists.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-)
tools/perf/ui/browsers/hists.c +13 -5
@@ -56,11 +56,19 @@ static u32 hist_browser__nr_entries(struct hist_browser *hb)return nr_entries + hb->nr_callchain_rows; } -static void hist_browser__refresh_dimensions (struct hist_browser *browser) +static void hist_browser__refresh_dimensions (struct ui_browser *browser) { + struct hist_browser *hb = container_of(browser, struct hist_browser, b); +/* 3 == +/- toggle symbol before actual hist_entry rendering */ - browser->b.width =3 + (hists__sort_list_width (browser->hists) + -sizeof ("[k]" )); + browser->width =3 + (hists__sort_list_width (hb->hists) +sizeof ("[k]" )); +/* +* FIXME: Just keeping existing behaviour, but this really should be +* before updating browser->width, as it will invalidate the +* calculation above. Fix this and the fallout in another +* changeset. +*/ +ui_browser__refresh_dimensions (browser); }static void hist_browser__gotorc (struct hist_browser *browser,int row,int column)
@@ -78,7 +86,7 @@ static void hist_browser__reset(struct hist_browser *browser)hist_browser__update_nr_entries (browser); browser->b.nr_entries =hist_browser__nr_entries (browser); -hist_browser__refresh_dimensions (browser); +hist_browser__refresh_dimensions (&browser->b);ui_browser__reset_index (&browser->b); }
@@ -360,7 +368,6 @@ static int hist_browser__run(struct hist_browser *browser, browser->b.entries = &browser->hists->entries; browser->b.nr_entries =hist_browser__nr_entries (browser); -hist_browser__refresh_dimensions (browser);hists__browser_title (browser->hists, title,sizeof (title)); if (ui_browser__show(&browser->b, title,
@@ -1195,6 +1202,7 @@ static struct hist_browser *hist_browser__new(struct hists *hists)if (browser) { browser->hists = hists; browser->b.refresh = hist_browser__refresh; + browser->b.refresh_dimensions = hist_browser__refresh_dimensions; browser->b.seek = ui_browser__hists_seek; browser->b.use_navkeypressed = true; }