aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/ui/browser.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2010-09-13 09:25:04 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-09-13 09:25:04 -0400
commit469917ce8717b9f8c5298bf279fa138859baab8d (patch)
tree584dcc382e0b3ee0431061753980d2f551b97563 /tools/perf/util/ui/browser.c
parent0c67b40872326a5340cab51d79a192a5fbaeb484 (diff)
perf ui browser: Don't use windows, slang is enough
They are useless and take away precious columns and lines, so stop using windows. One more step in removing newt code, that after all is not being useful at all for the coalescing TUI model in perf. Suggested-by: Christoph Hellwig <hch@infradead.org> Cc: Christoph Hellwig <hch@infradead.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <20100822082003.GB7365@infradead.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/ui/browser.c')
-rw-r--r--tools/perf/util/ui/browser.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/tools/perf/util/ui/browser.c b/tools/perf/util/ui/browser.c
index 930c4acaf56..6d0df809a2e 100644
--- a/tools/perf/util/ui/browser.c
+++ b/tools/perf/util/ui/browser.c
@@ -130,13 +130,10 @@ void ui_browser__refresh_dimensions(struct ui_browser *self)
130 int cols, rows; 130 int cols, rows;
131 newtGetScreenSize(&cols, &rows); 131 newtGetScreenSize(&cols, &rows);
132 132
133 if (self->width > cols - 4) 133 self->width = cols - 1;
134 self->width = cols - 4; 134 self->height = rows - 2;
135 self->height = rows - 5; 135 self->y = 1;
136 if (self->height > self->nr_entries) 136 self->x = 0;
137 self->height = self->nr_entries;
138 self->y = (rows - self->height) / 2;
139 self->x = (cols - self->width) / 2;
140} 137}
141 138
142void ui_browser__reset_index(struct ui_browser *self) 139void ui_browser__reset_index(struct ui_browser *self)
@@ -168,22 +165,24 @@ int ui_browser__show(struct ui_browser *self, const char *title,
168 NEWT_KEY_PGDN, NEWT_KEY_HOME, NEWT_KEY_END, ' ', 165 NEWT_KEY_PGDN, NEWT_KEY_HOME, NEWT_KEY_END, ' ',
169 NEWT_KEY_LEFT, NEWT_KEY_ESCAPE, 'q', CTRL('c'), 0 }; 166 NEWT_KEY_LEFT, NEWT_KEY_ESCAPE, 'q', CTRL('c'), 0 };
170 167
171 if (self->form != NULL) { 168 if (self->form != NULL)
172 newtFormDestroy(self->form); 169 newtFormDestroy(self->form);
173 newtPopWindow(); 170
174 }
175 ui_browser__refresh_dimensions(self); 171 ui_browser__refresh_dimensions(self);
176 newtCenteredWindow(self->width, self->height, title);
177 self->form = newtForm(NULL, NULL, 0); 172 self->form = newtForm(NULL, NULL, 0);
178 if (self->form == NULL) 173 if (self->form == NULL)
179 return -1; 174 return -1;
180 175
181 self->sb = newtVerticalScrollbar(self->width, 0, self->height, 176 self->sb = newtVerticalScrollbar(self->width, 1, self->height,
182 HE_COLORSET_NORMAL, 177 HE_COLORSET_NORMAL,
183 HE_COLORSET_SELECTED); 178 HE_COLORSET_SELECTED);
184 if (self->sb == NULL) 179 if (self->sb == NULL)
185 return -1; 180 return -1;
186 181
182 SLsmg_gotorc(0, 0);
183 ui_browser__set_color(self, NEWT_COLORSET_ROOT);
184 slsmg_write_nstring(title, self->width);
185
187 ui_browser__add_exit_keys(self, keys); 186 ui_browser__add_exit_keys(self, keys);
188 newtFormAddComponent(self->form, self->sb); 187 newtFormAddComponent(self->form, self->sb);
189 188
@@ -196,7 +195,6 @@ int ui_browser__show(struct ui_browser *self, const char *title,
196void ui_browser__hide(struct ui_browser *self) 195void ui_browser__hide(struct ui_browser *self)
197{ 196{
198 newtFormDestroy(self->form); 197 newtFormDestroy(self->form);
199 newtPopWindow();
200 self->form = NULL; 198 self->form = NULL;
201 ui_helpline__pop(); 199 ui_helpline__pop();
202} 200}