perf hists browser: Introduce init()

Factoring out the hist_browser initialization code, so it could be used
from other parts in following patches.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1466459899-1166-8-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Jiri Olsa 2016-06-20 23:58:18 +02:00 committed by Arnaldo Carvalho de Melo
parent a6ec894dea
commit fcd8642650
2 changed files with 22 additions and 15 deletions

View File

@ -2042,25 +2042,30 @@ static int hist_browser__dump(struct hist_browser *browser)
return 0;
}
void hist_browser__init(struct hist_browser *browser,
struct hists *hists)
{
struct perf_hpp_fmt *fmt;
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;
browser->show_headers = symbol_conf.show_hist_headers;
hists__for_each_format(hists, fmt) {
perf_hpp__reset_width(fmt, hists);
++browser->b.columns;
}
}
struct hist_browser *hist_browser__new(struct hists *hists)
{
struct hist_browser *browser = zalloc(sizeof(*browser));
if (browser) {
struct perf_hpp_fmt *fmt;
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;
browser->show_headers = symbol_conf.show_hist_headers;
hists__for_each_format(hists, fmt) {
perf_hpp__reset_width(fmt, hists);
++browser->b.columns;
}
}
if (browser)
hist_browser__init(browser, hists);
return browser;
}

View File

@ -27,4 +27,6 @@ struct hist_browser {
struct hist_browser *hist_browser__new(struct hists *hists);
void hist_browser__delete(struct hist_browser *browser);
int hist_browser__run(struct hist_browser *browser, const char *help);
void hist_browser__init(struct hist_browser *browser,
struct hists *hists);
#endif /* _PERF_UI_BROWSER_HISTS_H_ */