X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftui%2Ftui-win.c;h=6546793d6bd87ab0585df2f1d23946163f459902;hb=b2a0dd767a59a4b1e343c178177dcaee55e540f1;hp=ea202757c884917912cf846c03562d559aa1d85b;hpb=e098d18cfc12c750616b7c934b9a9057f71f3553;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c index ea202757c8..6546793d6b 100644 --- a/gdb/tui/tui-win.c +++ b/gdb/tui/tui-win.c @@ -33,8 +33,9 @@ #include "cli/cli-style.h" #include "top.h" #include "source.h" -#include "event-loop.h" +#include "gdbsupport/event-loop.h" #include "gdbcmd.h" +#include "async-event.h" #include "tui/tui.h" #include "tui/tui-io.h" @@ -68,9 +69,6 @@ static void parse_scrolling_args (const char *, int *); -#define WIN_HEIGHT_USAGE "Usage: winheight WINDOW-NAME [+ | -] NUM-LINES\n" -#define FOCUS_USAGE "Usage: focus [WINDOW-NAME | next | prev]\n" - #ifndef ACS_LRCORNER # define ACS_LRCORNER '+' #endif @@ -312,21 +310,13 @@ show_tui_cmd (const char *args, int from_tty) static struct cmd_list_element *tuilist; -static void -tui_command (const char *args, int from_tty) -{ - printf_unfiltered (_("\"tui\" must be followed by the name of a " - "tui command.\n")); - help_list (tuilist, "tui ", all_commands, gdb_stdout); -} - struct cmd_list_element ** tui_get_cmd_list (void) { if (tuilist == 0) - add_prefix_cmd ("tui", class_tui, tui_command, - _("Text User Interface commands."), - &tuilist, "tui ", 0, &cmdlist); + add_basic_prefix_cmd ("tui", class_tui, + _("Text User Interface commands."), + &tuilist, "tui ", 0, &cmdlist); return &tuilist; } @@ -452,21 +442,6 @@ tui_update_gdb_sizes (void) } -/* Set the logical focus to win_info. */ -void -tui_set_win_focus_to (struct tui_win_info *win_info) -{ - if (win_info != NULL) - { - struct tui_win_info *win_with_focus = tui_win_with_focus (); - - tui_unhighlight_win (win_with_focus); - tui_set_win_with_focus (win_info); - tui_highlight_win (win_info); - } -} - - void tui_win_info::forward_scroll (int num_to_scroll) { @@ -550,7 +525,6 @@ tui_resize_all (void) erase (); clearok (curscr, TRUE); tui_apply_current_layout (); - tui_delete_invisible_windows (); /* Turn keypad back on, unless focus is in the command window. */ if (win_with_focus != TUI_CMD_WIN) @@ -723,29 +697,27 @@ tui_set_focus_command (const char *arg, int from_tty) { tui_enable (); - if (arg != NULL) - { - struct tui_win_info *win_info = NULL; - - if (subset_compare (arg, "next")) - win_info = tui_next_win (tui_win_with_focus ()); - else if (subset_compare (arg, "prev")) - win_info = tui_prev_win (tui_win_with_focus ()); - else - win_info = tui_partial_win_by_name (arg); + if (arg == NULL) + error_no_arg (_("name of window to focus")); - if (win_info == NULL) - error (_("Unrecognized window name \"%s\""), arg); - if (!win_info->is_visible ()) - error (_("Window \"%s\" is not visible"), arg); + struct tui_win_info *win_info = NULL; - tui_set_win_focus_to (win_info); - keypad (TUI_CMD_WIN->handle.get (), win_info != TUI_CMD_WIN); - printf_filtered (_("Focus set to %s window.\n"), - tui_win_with_focus ()->name ()); - } + if (subset_compare (arg, "next")) + win_info = tui_next_win (tui_win_with_focus ()); + else if (subset_compare (arg, "prev")) + win_info = tui_prev_win (tui_win_with_focus ()); else - error (_("Incorrect Number of Arguments.\n%s"), FOCUS_USAGE); + win_info = tui_partial_win_by_name (arg); + + if (win_info == NULL) + error (_("Unrecognized window name \"%s\""), arg); + if (!win_info->is_visible ()) + error (_("Window \"%s\" is not visible"), arg); + + tui_set_win_focus_to (win_info); + keypad (TUI_CMD_WIN->handle.get (), win_info != TUI_CMD_WIN); + printf_filtered (_("Focus set to %s window.\n"), + tui_win_with_focus ()->name ()); } static void @@ -891,66 +863,59 @@ tui_set_win_height_command (const char *arg, int from_tty) { /* Make sure the curses mode is enabled. */ tui_enable (); - if (arg != NULL) - { - const char *buf = arg; - const char *buf_ptr = buf; - int new_height; - struct tui_win_info *win_info; + if (arg == NULL) + error_no_arg (_("name of window")); - buf_ptr = strchr (buf_ptr, ' '); - if (buf_ptr != NULL) - { - /* Validate the window name. */ - gdb::string_view wname (buf, buf_ptr - buf); - win_info = tui_partial_win_by_name (wname); + const char *buf = arg; + const char *buf_ptr = buf; + int new_height; + struct tui_win_info *win_info; - if (win_info == NULL) - error (_("Unrecognized window name \"%s\""), arg); - if (!win_info->is_visible ()) - error (_("Window \"%s\" is not visible"), arg); + buf_ptr = skip_to_space (buf_ptr); - /* Process the size. */ - buf_ptr = skip_spaces (buf_ptr); + /* Validate the window name. */ + gdb::string_view wname (buf, buf_ptr - buf); + win_info = tui_partial_win_by_name (wname); - if (*buf_ptr != '\0') - { - bool negate = false; - bool fixed_size = true; - int input_no;; - - if (*buf_ptr == '+' || *buf_ptr == '-') - { - if (*buf_ptr == '-') - negate = true; - fixed_size = false; - buf_ptr++; - } - input_no = atoi (buf_ptr); - if (input_no > 0) - { - if (negate) - input_no *= (-1); - if (fixed_size) - new_height = input_no; - else - new_height = win_info->height + input_no; - - /* Now change the window's height, and adjust - all other windows around it. */ - tui_adjust_window_height (win_info, new_height); - tui_update_gdb_sizes (); - } - else - warning (_("Invalid window height specified.\n%s"), - WIN_HEIGHT_USAGE); - } + if (win_info == NULL) + error (_("Unrecognized window name \"%s\""), arg); + if (!win_info->is_visible ()) + error (_("Window \"%s\" is not visible"), arg); + + /* Process the size. */ + buf_ptr = skip_spaces (buf_ptr); + + if (*buf_ptr != '\0') + { + bool negate = false; + bool fixed_size = true; + int input_no;; + + if (*buf_ptr == '+' || *buf_ptr == '-') + { + if (*buf_ptr == '-') + negate = true; + fixed_size = false; + buf_ptr++; + } + input_no = atoi (buf_ptr); + if (input_no > 0) + { + if (negate) + input_no *= (-1); + if (fixed_size) + new_height = input_no; + else + new_height = win_info->height + input_no; + + /* Now change the window's height, and adjust + all other windows around it. */ + tui_adjust_window_height (win_info, new_height); + tui_update_gdb_sizes (); } else - printf_filtered (WIN_HEIGHT_USAGE); + error (_("Invalid window height specified")); } - else - printf_filtered (WIN_HEIGHT_USAGE); } /* See tui-data.h. */ @@ -1057,25 +1022,18 @@ Usage: tabset N")); deprecate_cmd (cmd, "set tui tab-width"); cmd = add_com ("winheight", class_tui, tui_set_win_height_command, _("\ -Set or modify the height of a specified window.\n" -WIN_HEIGHT_USAGE -"Window names are:\n\ - src : the source window\n\ - cmd : the command window\n\ - asm : the disassembly window\n\ - regs : the register display")); +Set or modify the height of a specified window.\n\ +Usage: winheight WINDOW-NAME [+ | -] NUM-LINES\n\ +Use \"info win\" to see the names of the windows currently being displayed.")); add_com_alias ("wh", "winheight", class_tui, 0); set_cmd_completer (cmd, winheight_completer); add_info ("win", tui_all_windows_info, - _("List of all displayed windows.")); + _("List of all displayed windows.\n\ +Usage: info win")); cmd = add_com ("focus", class_tui, tui_set_focus_command, _("\ -Set focus to named window or next/prev window.\n" -FOCUS_USAGE -"Valid Window names are:\n\ - src : the source window\n\ - asm : the disassembly window\n\ - regs : the register display\n\ - cmd : the command window")); +Set focus to named window or next/prev window.\n\ +Usage: focus [WINDOW-NAME | next | prev]\n\ +Use \"info win\" to see the names of the windows currently being displayed.")); add_com_alias ("fs", "focus", class_tui, 0); set_cmd_completer (cmd, focus_completer); add_com ("+", class_tui, tui_scroll_forward_command, _("\