📄 scrolldefaults.c
字号:
bar_width_item = panel_create_item(control, PANEL_CYCLE, PANEL_LABEL_X, ATTR_COL(0), PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_LABEL_STRING, " Bar Width", PANEL_CHOICE_STRINGS, /* MIN_THICKNESS */ "2", "4", "6", "8", "10", "12", "14", "16", "18", "20", "22", "24", 0, PANEL_NOTIFY_PROC, bar_width_proc, 0); end_point_area_item = panel_create_item(control, PANEL_CYCLE, PANEL_LABEL_X, ATTR_COL(0), PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_LABEL_STRING, " End point area", PANEL_CHOICE_STRINGS, "0", "2", "4", "6", "8", "10", "12", "14", "16", "18", "20", "22", "24", 0, PANEL_NOTIFY_PROC, end_point_area_proc, 0); repeat_item = panel_create_item(control, PANEL_CYCLE, PANEL_LABEL_X, ATTR_COL(0), PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_LABEL_STRING, "Repeat time (tenths)", PANEL_CHOICE_STRINGS, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 0, PANEL_NOTIFY_PROC, repeat_proc, 0); border_item = panel_create_item(control, PANEL_CYCLE, PANEL_LABEL_X, ATTR_COL(0), PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_LABEL_STRING, " Border", PANEL_CHOICE_STRINGS, "Yes", "No", 0, PANEL_NOTIFY_PROC, border_proc, 0); have_buttons_item = panel_create_item(control, PANEL_CYCLE, PANEL_LABEL_X, ATTR_COL(0), PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_LABEL_STRING, " Page Buttons", PANEL_CHOICE_STRINGS, "Yes", "No", 0, PANEL_NOTIFY_PROC, have_buttons_proc, 0); button_length_item = panel_create_item(control, PANEL_CYCLE, PANEL_LABEL_X, ATTR_COL(0), PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_LABEL_STRING, " Page Button Length", PANEL_CHOICE_STRINGS, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", 0, PANEL_NOTIFY_PROC, button_length_proc, 0); row++; (void)panel_create_item(control, PANEL_BUTTON, PANEL_LABEL_X, ATTR_COL(0), PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_LABEL_IMAGE, panel_button_image(control, "Save", 7, (Pixfont *)NULL), PANEL_NOTIFY_PROC, save_proc, 0); (void)panel_create_item(control, PANEL_BUTTON, PANEL_LABEL_IMAGE, panel_button_image(control, "Reset", 7, (Pixfont *)NULL), PANEL_NOTIFY_PROC, default_proc, 0); (void)panel_create_item(control, PANEL_BUTTON, PANEL_LABEL_IMAGE, panel_button_image(control, "Quit", 7, (Pixfont *)NULL), PANEL_NOTIFY_PROC, quit_proc, 0); row++; have_v_sb_item = panel_create_item(control, PANEL_TOGGLE, PANEL_LABEL_X, 20, PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_FEEDBACK, PANEL_MARKED, PANEL_CHOICE_STRINGS, "Vertical Scrollbar", 0, PANEL_VALUE, 1, PANEL_NOTIFY_PROC, have_v_sb_proc, 0); have_h_sb_item = panel_create_item(control, PANEL_TOGGLE, PANEL_LABEL_X, 20, PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_FEEDBACK, PANEL_MARKED, PANEL_CHOICE_STRINGS, "Horizontal Scrollbar", 0, PANEL_VALUE, 1, PANEL_NOTIFY_PROC, have_h_sb_proc, 0); if (debugging) (void)panel_create_item(control, PANEL_TOGGLE, PANEL_LABEL_X, 20, PANEL_LABEL_Y, ATTR_ROW(row++), PANEL_FEEDBACK, PANEL_MARKED, PANEL_CHOICE_STRINGS, "Use Normalization", 0, PANEL_VALUE, 1, PANEL_NOTIFY_PROC, use_normalize_proc, 0); (void)window_fit(control); set_panel_from_scrollbars();}static voidset_panel_from_scrollbars(){ Scrollbar_setting setting; int val; /* gravity */ setting = (Scrollbar_setting) scrollbar_get(horizontal_sb, SCROLL_PLACEMENT); val = setting == SCROLL_MIN ? 0 : 1; (void)panel_set(h_gravity_item, PANEL_VALUE, val, 0); setting = (Scrollbar_setting) scrollbar_get(vertical_sb, SCROLL_PLACEMENT); val = setting == SCROLL_MIN ? 0 : 1; (void)panel_set(v_gravity_item, PANEL_VALUE, val, 0); /* bar display level */ setting = (Scrollbar_setting) scrollbar_get(horizontal_sb, SCROLL_BAR_DISPLAY_LEVEL); switch (setting) { case SCROLL_ALWAYS: val = 0; break; case SCROLL_ACTIVE: val = 1; break; case SCROLL_NEVER: val = 2; break; } (void)panel_set(bar_display_item, PANEL_VALUE, val, 0); /* bubble display level */ setting = (Scrollbar_setting) scrollbar_get(horizontal_sb, SCROLL_BUBBLE_DISPLAY_LEVEL); switch (setting) { case SCROLL_ALWAYS: val = 0; break; case SCROLL_ACTIVE: val = 1; break; case SCROLL_NEVER: val = 2; break; } (void)panel_set(bubble_display_item, PANEL_VALUE, val, 0); /* border */ val = (int) scrollbar_get(horizontal_sb, SCROLL_BORDER); val = val ? 0 : 1; (void)panel_set(border_item, PANEL_VALUE, val, 0); /* bar thickness */ val = (int) scrollbar_get(horizontal_sb, SCROLL_THICKNESS); val = (val - MIN_THICKNESS) / 2; (void)panel_set(bar_width_item, PANEL_VALUE, val, 0); /* end point area */ val = (int) scrollbar_get(horizontal_sb, SCROLL_END_POINT_AREA); val = val / 2; (void)panel_set(end_point_area_item, PANEL_VALUE, val, 0); /* repeat */ val = (int) scrollbar_get(horizontal_sb, SCROLL_REPEAT_TIME); (void)panel_set(repeat_item, PANEL_VALUE, val, 0); /* page buttons */ val = (int) scrollbar_get(horizontal_sb, SCROLL_PAGE_BUTTONS); val = val ? 0 : 1; (void)panel_set(have_buttons_item, PANEL_VALUE, val, 0); /* page button length */ val = (int) scrollbar_get(horizontal_sb, SCROLL_PAGE_BUTTON_LENGTH); (void)panel_set(button_length_item, PANEL_VALUE, val, 0); /* bubble margin */ val = (int) scrollbar_get(horizontal_sb, SCROLL_BUBBLE_MARGIN); (void)panel_set(bubble_margin_item, PANEL_VALUE, val, 0); /* bar color */ setting = (Scrollbar_setting) scrollbar_get(horizontal_sb, SCROLL_BAR_COLOR); val = setting == SCROLL_GREY ? 0 : 1; (void)panel_set(bar_color_item, PANEL_VALUE, val, 0); /* bubble color */ setting = (Scrollbar_setting) scrollbar_get(horizontal_sb, SCROLL_BUBBLE_COLOR); val = setting == SCROLL_GREY ? 0 : 1; (void)panel_set(bubble_color_item, PANEL_VALUE, val, 0);}static voidinit_panel(){ int row, col, x, y; char *s; struct pixrect *image; static char *file_names[16][4] = { {"/cursors", "tek.c", "ttyansi.c", "usr_profile.c"}, {"cursor_init.c", "teksw.c", "/tty_backup", "usr_profile_db.c"}, {"demo_cursor.c", "teksw_ui.c", "ttyselect.c", "usr_profile_hs.h"}, {"/demo", "tool_bdry.c", "ttysw_get.c", "usr_profile_panel.c"}, {"emptysw.c", "tool_begin.c", "ttysw_gtty.c", "usr_profile_util.c"}, {"expand_name.c", "tool_create.c", "ttysw_help.c", "/window"}, {"fullscreen.c", "tool_destroy.c", "ttysw_main.c", "wmgr_cursor.c"}, {"gfxsw.c", "tool_display.c", "ttysw_mapkey.c", "wmgr_findspace.c"}, {"gfxsw_input.c", "tool_help.c", "ttysw_notify.c", "wmgr_help.c"}, {"/icons", "tool_input.c", "ttysw_old.c", "wmgr_menu.c"}, {"menu.c", "tool_install.c", "tty_set.c", "wmgr_policy.c"}, {"menu_util.c", "tool_layout.c", "tty_stty.c", "wmgr_rect.c"}, {"/optionsw", "tool_position.c", "ttysw_tio.c", "wmgr_state.c"}, {"/panel", "tool_select.c", "ttysw_tsw.c", "wmgr_usage.c"}, {"scrollbar.c", "tool_usage.c", "ttysw_usage.c", "wmgr_util.c"}, {"scrollbar_util.c", "tool_yak.c", "ttysw_util.c", "wmgr_valid.c"} }; panel = window_create(base_frame, PANEL, WIN_WIDTH, (texttoo ? 2 * 120 : ATTR_COLS(47)), PANEL_SHOW_MENU, FALSE, WIN_ERROR_MSG, "panel creation error!", WIN_VERTICAL_SCROLLBAR, vertical_sb, WIN_HORIZONTAL_SCROLLBAR, horizontal_sb, 0); if (panel == NULL) { (void)fprintf(stderr,"defaultstool: unable to create panel\n"); exit(1); } for (col = 0, x = my_margin; col <= 3; col++) { for (row = 0, y = my_margin; row <= 15; row++) { s = file_names[row][col]; image = (s[0] == '/') ? &scrd_folder_image : &scrd_paper_image; (void)panel_create_item(panel, PANEL_MESSAGE, PANEL_LABEL_X, x, PANEL_LABEL_Y, y, PANEL_LABEL_IMAGE, image, 0); y += 55; (void)panel_create_item(panel, PANEL_BUTTON, PANEL_LABEL_X, x, PANEL_LABEL_Y, y, PANEL_LABEL_STRING, s, 0); y -= 55; y += my_row_height; } x += my_col_width; }}/**************************************************************************//* notify procs *//**************************************************************************//* ARGSUSED */static voidhave_v_sb_proc(ip, val) caddr_t ip; int val;{ if (val) { if (!(Scrollbar) panel_get(panel, PANEL_VERTICAL_SCROLLBAR)) { (void)panel_set(panel, PANEL_VERTICAL_SCROLLBAR, vertical_sb, 0); (void)panel_paint(panel, PANEL_CLEAR); return; } } else { if ((Scrollbar) panel_get(panel, PANEL_VERTICAL_SCROLLBAR)) { (void)panel_set(panel, PANEL_VERTICAL_SCROLLBAR, 0, 0); (void)panel_paint(panel, PANEL_CLEAR); return; } }}/* ARGSUSED */static voidhave_h_sb_proc(ip, val) caddr_t ip; int val;{ if (val) { if (!(Scrollbar) panel_get(panel, PANEL_HORIZONTAL_SCROLLBAR)) { (void)panel_set(panel, PANEL_HORIZONTAL_SCROLLBAR, horizontal_sb, 0); (void)panel_paint(panel, PANEL_CLEAR); return; } } else { if ((Scrollbar) panel_get(panel, PANEL_HORIZONTAL_SCROLLBAR)) { (void)panel_set(panel, PANEL_HORIZONTAL_SCROLLBAR, 0, 0); (void)panel_paint(panel, PANEL_CLEAR); return; } }}/* ARGSUSED */static voiduse_normalize_proc(ip, normalize, event) caddr_t ip; int normalize; Event *event;{ int shift = event_shift_is_down(event); int grid_normalize = (normalize && shift); normalize = (normalize && !shift); (void)scrollbar_set(horizontal_sb, SCROLL_NORMALIZE, normalize, SCROLL_TO_GRID, grid_normalize, SCROLL_MARGIN, (normalize) ? my_gap : my_margin, SCROLL_LINE_HEIGHT, (shift) ? my_col_width : 0, SCROLL_GAP, my_gap, 0); (void)scrollbar_set(vertical_sb, SCROLL_NORMALIZE, normalize, SCROLL_TO_GRID, grid_normalize, SCROLL_MARGIN, (normalize) ? my_gap : my_margin, SCROLL_LINE_HEIGHT, (shift) ? my_row_height : 0, SCROLL_GAP, my_gap, 0);}/* ARGSUSED */static voidh_gravity_proc(ip, val) caddr_t ip; int val;{ register Scrollbar_setting gravity_val; gravity_val = val ? SCROLL_SOUTH : SCROLL_NORTH; (void)scrollbar_set(horizontal_sb, SCROLL_PLACEMENT, gravity_val, 0); /* must detach/attach scrollbar to get the corner handled properly */ if (panel_get_value(have_h_sb_item)) { (void)panel_set(panel, PANEL_HORIZONTAL_SCROLLBAR, 0, 0); (void)panel_set(panel, PANEL_HORIZONTAL_SCROLLBAR, horizontal_sb, 0); } (void)panel_paint(panel, PANEL_CLEAR);}/* ARGSUSED */static voidv_gravity_proc(ip, val) caddr_t ip; int val;{ register Scrollbar_setting gravity_val; gravity_val = val ? SCROLL_EAST : SCROLL_WEST; (void)scrollbar_set(vertical_sb, SCROLL_PLACEMENT, gravity_val, 0); /* must detach/attach scrollbar to get the corner handled properly */ if (panel_get_value(have_v_sb_item)) { (void)panel_set(panel, PANEL_VERTICAL_SCROLLBAR, 0, 0); (void)panel_set(panel, PANEL_VERTICAL_SCROLLBAR, vertical_sb, 0); } (void)panel_paint(panel, PANEL_CLEAR);}/* ARGSUSED */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -