// selectively grey recipe context options static void context_recipe_pre_show_handler(window_info *win, int widget_id, int mx, int my, window_info *cm_win) { int first_shown = vscrollbar_get_pos (win->window_id, recipe_win_scroll_id); cm_grey_line(cm_recipewin, CMRIC_ADD, (wanted_num_recipe_entries >= max_num_recipe_entries)); cm_grey_line(cm_recipewin, CMRIC_CLEAR, (cur_recipe < first_shown) || (cur_recipe >= first_shown + num_displayed_recipes)); cm_grey_line(cm_recipewin, CMRIC_DELETE, (cur_recipe < first_shown) || (cur_recipe >= first_shown + num_displayed_recipes)); }
/* Called just before the main contextmenu is displayed, grey options that can't be used. */ static void cm_encycl_pre_show_handler(window_info *win, int widget_id, int mx, int my, window_info *cm_win) { int is_bookmarked = (get_page_bookmark_index() < MAX_BOOKMARKS) ?1 :0; if (cm_win!= NULL) cm_win->opaque = 1; cm_grey_line(cm_encycl, CM_ENCYCL_REPSEARCH, (last_search == NULL)); cm_grey_line(cm_encycl, CM_ENCYCL_BOOKMARK, (is_bookmarked || num_bookmarks == MAX_BOOKMARKS) ?1: 0); cm_grey_line(cm_encycl, CM_ENCYCL_UNBOOKMARK, !is_bookmarked); cm_grey_line(cm_encycl, CM_ENCYCL_CLEARBOOKMARKS, !num_bookmarks); }
static void cm_statsbar_pre_show_handler(window_info *win, int widget_id, int mx, int my, window_info *cm_win) { size_t i; int proposed_max_disp_stats = calc_max_disp_stats(calc_stats_bar_len(win, get_num_statsbar_exp()+1)); for (i=0; i<NUM_WATCH_STAT-1; i++) cm_grey_line(cm_id, i, 0); for (i=0; i<max_disp_stats; i++) if (watch_this_stats[i] > 0) cm_grey_line(cm_id, watch_this_stats[i]-1, 1); cm_grey_line(cm_id, NUM_WATCH_STAT, ((get_num_statsbar_exp() < proposed_max_disp_stats) ?0 :1)); cm_grey_line(cm_id, NUM_WATCH_STAT+1, ((watch_this_stats[1]==0)?1:0)); }
void display_minimap() { window_info *win; minimap_size = 256 * minimap_size_coefficient; float_minimap_size = 256.0 * minimap_size_coefficient; if(minimap_tiles_distance < 48) minimap_tiles_distance = 48; if(minimap_tiles_distance > 144) minimap_tiles_distance = 144; if(minimap_win < 0) { //init minimap minimap_win = create_window(win_minimap, windows_on_top?-1:game_root_win, 0, minimap_win_x, minimap_win_y, minimap_size, minimap_size+ELW_TITLE_HEIGHT, ELW_CLICK_TRANSPARENT|ELW_SHOW|ELW_TITLE_NAME|ELW_ALPHA_BORDER|ELW_SWITCHABLE_OPAQUE|ELW_DRAGGABLE); set_window_handler(minimap_win, ELW_HANDLER_DISPLAY, &display_minimap_handler); set_window_handler(minimap_win, ELW_HANDLER_CLICK, &click_minimap_handler); set_window_handler(minimap_win, ELW_HANDLER_MOUSEOVER, &mouseover_minimap_handler); set_window_handler(minimap_win, ELW_HANDLER_KEYPRESS, &keypress_minimap_handler ); win = &(windows_list.window[minimap_win]); win->owner_drawn_title_bar = 1; change_minimap(); if (!cm_valid(win->cm_id)) { win->cm_id = cm_create(cm_title_menu_str, cm_minimap_title_handler); cm_grey_line(win->cm_id, 1, 1); cm_bool_line(win->cm_id, 2, &windows_on_top, "windows_on_top"); } cm_add(win->cm_id, cm_minimap_menu_str, NULL); cm_add_region(win->cm_id, minimap_win, win->len_x/2-32, 0, 64, ELW_TITLE_HEIGHT ); cm_bool_line(win->cm_id, ELW_CM_MENU_LEN+1, &rotate_minimap, "rotate_minimap"); cm_bool_line(win->cm_id, ELW_CM_MENU_LEN+2, &pin_minimap, "pin_minimap"); cm_bool_line(win->cm_id, ELW_CM_MENU_LEN+3, &open_minimap_on_start, NULL); } else { show_window(minimap_win); select_window(minimap_win); } }
void pre_cm_handler(void) { cm_grey_line(cm_id, CMHT_SETTIME, !mode_coundown); }
// Enable/disable names conext menu options // void List_Window::cm_names_pre_show(void) { int no_active = (Vars::lists()->valid_active_list()) ?0 :1; cm_grey_line(cm_names_menu, 1, no_active); cm_grey_line(cm_names_menu, 3, no_active); }