Index: exposurses.c ================================================================== --- exposurses.c +++ exposurses.c @@ -88,11 +88,11 @@ void selection(char *name); void remove_menu(ITEM **items, MENU *men, int n); void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color); MENU *add_menu(char **array, ITEM **items, int n); -WINDOW *add_window(MENU *men, int xpos, char *title); +WINDOW *add_window(int xpos, char *title); int exposure(int iso); double shutter(int exposure, double aperture); double aperture(int exposure, double shutter); int nearest_match(double x, int menu); double fraction_to_double(char *fraction); @@ -131,15 +131,30 @@ n_aperture = ARRAY_SIZE(aperture_array); exposure_menu = add_menu(exposure_array, exposure_items, n_exposure); iso_menu = add_menu(iso_array, iso_items, n_iso); shutter_menu = add_menu(shutter_array, shutter_items, n_shutter); aperture_menu = add_menu(aperture_array, aperture_items, n_aperture); - exposure_win = add_window(exposure_menu, 4, "EV"); - iso_win = add_window(iso_menu, 45, "ISO"); - shutter_win = add_window(shutter_menu, 86, "Shutter"); - aperture_win = add_window(aperture_menu, 127, "Aperture"); - + exposure_win = add_window(4, "EV"); + iso_win = add_window(45, "ISO"); + shutter_win = add_window(86, "Shutter"); + aperture_win = add_window(127, "Aperture"); + set_menu_win(exposure_menu, exposure_win); + set_menu_win(iso_menu, iso_win); + set_menu_win(shutter_menu, shutter_win); + set_menu_win(aperture_menu, aperture_win); + set_menu_sub(exposure_menu, derwin(exposure_win, 6, 38, 3, 1)); + set_menu_sub(iso_menu, derwin(iso_win, 6, 38, 3, 1)); + set_menu_sub(shutter_menu, derwin(shutter_win, 6, 38, 3, 1)); + set_menu_sub(aperture_menu, derwin(aperture_win, 6, 38, 3, 1)); + post_menu(exposure_menu); + post_menu(iso_menu); + post_menu(shutter_menu); + post_menu(aperture_menu); + wrefresh(exposure_win); + wrefresh(iso_win); + wrefresh(shutter_win); + wrefresh(aperture_win); attron(COLOR_PAIR(2)); mvprintw(LINES - 2, 0, "Select EV"); /*mvprintw(LINES - 2, 0, "Select ISO and then one of Shutter/Aperture to calculate other of Shutter/Aperture");*/ mvprintw(LINES - 1, 0, "Arrow keys to navigate, Enter to select, Q to exit"); attroff(COLOR_PAIR(2)); @@ -276,27 +291,23 @@ set_item_userptr(items[i], selection); } local_menu = new_menu((ITEM **)items); set_menu_format(local_menu, 5, 1); set_menu_mark(local_menu, " * "); - post_menu(local_menu); return local_menu; } -WINDOW *add_window(MENU *men, int xpos, char *title) { +WINDOW *add_window(int xpos, char *title) { WINDOW *local_win; local_win = newwin(10, 40, 4, xpos); keypad(local_win, TRUE); - set_menu_win(*men, local_win); - set_menu_sub(*men, derwin(local_win, 6, 38, 3, 1)); box(local_win, 0, 0); print_in_middle(local_win, 1, 0, 40, title, COLOR_PAIR(1)); mvwaddch(local_win, 2, 0, ACS_LTEE); mvwhline(local_win, 2, 1, ACS_HLINE, 38); mvwaddch(local_win, 2, 39, ACS_RTEE); - wrefresh(local_win); return local_win; } void remove_menu(ITEM **items, MENU *men, int n) { int i;