void menu_nickmenu(window_t *sess, GdkEventButton * event, char *nick, int num_sel) { char buf[512]; GtkWidget *menu = gtk_menu_new(); userlist_t *user; if (str_copy) free(str_copy); str_copy = xstrdup(nick); submenu_list = NULL; /* first time through, might not be 0 */ /* [XXX, how does this work? memleak? */ /* more than 1 nick selected? */ if (num_sel > 1) { snprintf(buf, sizeof(buf), "%d nicks selected.", num_sel); menu_quick_item(0, buf, menu, 0, 0, 0); menu_quick_item(0, 0, menu, XCMENU_SHADED, 0, 0); } else { user = userlist_find(sess->session, nick); /* XXX, * jesli nadal nie ma uzytkownika, to szukaj go w konferencjach */ if (user) { GtkWidget *submenu = menu_quick_sub(nick, menu, NULL, XCMENU_DOLIST, -1); char *fmt = "<tt><b>%-11s</b></tt> %s"; /* XXX, gettext? (let the translators tweak this if need be) */ char *real; /* UID */ real = g_markup_escape_text(user->uid, -1); snprintf(buf, sizeof(buf), fmt, "UID:", real); g_free(real); menu_quick_item(0, buf, submenu, XCMENU_MARKUP, 0, 0); /* <separator> ? */ /* XXX, get more data using USERLIST_PRIVHANDLE (?) */ /* the same like above */ menu_quick_endsub(); menu_quick_item(0, 0, menu, XCMENU_SHADED, 0, 0); } } #if 0 if (num_sel > 1) menu_create(menu, popup_list, NULL, FALSE); else menu_create(menu, popup_list, str_copy, FALSE); if (num_sel == 0) /* xtext click */ menu_add_plugin_items(menu, "\x5$NICK", str_copy); else /* userlist treeview click */ menu_add_plugin_items(menu, "\x5$NICK", NULL); #endif menu_popup(menu, event, NULL); }
void menubar_create(menubar_t *m) { memset(m,0,sizeof(menubar_t)); m->info.type = G_MENUBAR; m->info.x = 0; m->info.y = 0; m->info.w = 256; m->info.h = 14; m->info.draw = (drawfunc_t)menubar_draw; m->info.event = (eventfunc_t)menubar_event; //this needs to be configurable, passed thru in a struct menu_create(&m->menus[0],"\x1",4,recentitems); menu_create(&m->menus[1],"Game",m->menus[0].info.x + m->menus[0].info.w + 4,gameitems); menu_create(&m->menus[2],"Config",m->menus[1].info.x + m->menus[1].info.w + 4,configitems); menu_create(&m->menus[3],"Cheat",m->menus[2].info.x + m->menus[2].info.w + 4,miscitems); menu_create(&m->menus[4],"Debug",m->menus[3].info.x + m->menus[3].info.w + 4,debugitems); button_create(&m->buttons[0],"x",(256 - 9) - 3,3,click_quit); button_create(&m->buttons[1],"\x9",(256 - 33) - 1,3,click_minimize); button_create(&m->buttons[2],"\x8",(256 - 21) - 3,3,click_togglefullscreen); load_create(&m->load); video_create(&m->video); input_create(&m->input); gui_input_create(&m->guiinput); sound_create(&m->sound); devices_create(&m->devices); palette_create(&m->palette); options_create(&m->options); mappers_create(&m->mappers); paths_create(&m->paths); supported_mappers_create(&m->supported_mappers); rom_info_create(&m->rom_info); tracer_create(&m->tracer); memory_viewer_create(&m->memory_viewer); nt_create(&m->nametable_viewer); pt_create(&m->patterntable_viewer); about_create(&m->about); m->menus[0].click = click_recent; m->menus[1].click = click_game; m->menus[2].click = click_config; m->menus[3].click = click_debug; m->menus[4].click = click_misc; m->menus[0].user = m; m->menus[1].user = m; m->menus[2].user = m; m->menus[3].user = m; m->menus[4].user = m; //'hack' to update the 'freeze data' caption click_freezedata(); click_freezedata(); }
component* menu_video_confirm_create(scene *s, settings_video *old_settings) { video_menu_confirm_data *local = malloc(sizeof(video_menu_confirm_data)); memset(local, 0, sizeof(video_menu_confirm_data)); local->video_accept_secs = 20; local->old_video_settings = old_settings; time(&local->video_accept_timer); // Text config text_settings tconf; text_defaults(&tconf); tconf.font = FONT_BIG; tconf.halign = TEXT_CENTER; tconf.cforeground = color_create(0, 121, 0, 255); component* menu = menu_create(11); menu_attach(menu, label_create(&tconf, "ACCEPT RESOLUTION?")); menu_attach(menu, filler_create()); local->timeout_label = label_create(&tconf, ""); menu_attach(menu, local->timeout_label); menu_attach(menu, filler_create()); menu_attach(menu, textbutton_create(&tconf, "OK", COM_ENABLED, video_confirm_ok_clicked, local)); menu_attach(menu, textbutton_create(&tconf, "CANCEL", COM_ENABLED, video_confirm_cancel_clicked, local)); menu_set_userdata(menu, local); menu_set_free_cb(menu, menu_video_confirm_free); menu_set_tick_cb(menu, menu_video_confirm_tick); menu_video_confirm_update(menu); return menu; }
void menu_urlmenu(GdkEventButton * event, char *url) { GtkWidget *menu; char *tmp, *chop; if (str_copy) free(str_copy); str_copy = strdup(url); menu = gtk_menu_new(); /* more than 51 chars? Chop it */ if (g_utf8_strlen(str_copy, -1) >= 52) { tmp = strdup(str_copy); chop = g_utf8_offset_to_pointer(tmp, 48); chop[0] = chop[1] = chop[2] = '.'; chop[3] = 0; menu_quick_item(0, tmp, menu, XCMENU_SHADED, 0, 0); free(tmp); } else { menu_quick_item(0, str_copy, menu, XCMENU_SHADED, 0, 0); } menu_quick_item(0, 0, menu, XCMENU_SHADED, 0, 0); /* Two hardcoded entries */ if (strncmp(str_copy, "irc://", 6) == 0 || strncmp(str_copy, "ircs://", 7) == 0) menu_quick_item_with_callback(open_url_cb, _("Connect"), menu, str_copy); else menu_quick_item_with_callback(open_url_cb, _("Open Link in Browser"), menu, str_copy); menu_quick_item_with_callback(copy_to_clipboard_cb, _("Copy Selected Link"), menu, str_copy); /* custom ones from urlhandlers.conf */ menu_create(menu, urlhandler_list, str_copy, TRUE); menu_add_plugin_items(menu, "\x4$URL", str_copy); menu_popup(menu, event, NULL); }
MENUPAN* menuedita_create(void) { MENU *menu; MENUPAN *menupan; const char *choices[] = { "Inserisci Record", "Edita Record", "Elimina Record", }; const char *desc[] = { "M-i", "M-e", "M-c ", }; menu=menu_create(choices, desc, A_SIZE(choices)); menupan=menu_pan_create(menu, 1, ISIZE+1, 1); post_menu(menu); return menupan; }
static gboolean my_button_pressed(GtkWidget *widget, GdkEventButton *event, plugin_instance *p) { menu_priv *m = (menu_priv *) p; ENTER; /* propagate Control-Button3 to the panel */ if (event->type == GDK_BUTTON_PRESS && event->button == 3 && event->state & GDK_CONTROL_MASK) { RET(FALSE); } if ((event->type == GDK_BUTTON_PRESS) && (event->x >=0 && event->x < widget->allocation.width) && (event->y >=0 && event->y < widget->allocation.height)) { if (!m->menu) menu_create(p); if (p->panel->autohide) ah_stop(p->panel); gtk_menu_popup(GTK_MENU(m->menu), NULL, NULL, (GtkMenuPositionFunc)menu_pos, widget, event->button, event->time); } RET(TRUE); }
component* menu_connect_create(scene *s) { connect_menu_data *local = malloc(sizeof(connect_menu_data)); memset(local, 0, sizeof(connect_menu_data)); local->s = s; // Text config text_settings tconf; text_defaults(&tconf); tconf.font = FONT_BIG; tconf.halign = TEXT_CENTER; tconf.cforeground = color_create(0, 121, 0, 255); component* menu = menu_create(11); menu_attach(menu, label_create(&tconf, "CONNECT TO SERVER")); menu_attach(menu, filler_create()); local->addr_input = textinput_create(&tconf, "Host/IP", settings_get()->net.net_connect_ip); local->connect_button = textbutton_create(&tconf, "CONNECT", COM_ENABLED, menu_connect_start, s); local->cancel_button = textbutton_create(&tconf, "CANCEL", COM_ENABLED, menu_connect_cancel, s); widget_set_id(local->connect_button, NETWORK_CONNECT_IP_BUTTON_ID); menu_attach(menu, local->addr_input); menu_attach(menu, local->connect_button); menu_attach(menu, local->cancel_button); menu_set_userdata(menu, local); menu_set_free_cb(menu, menu_connect_free); menu_set_tick_cb(menu, menu_connect_tick); return menu; }
int main(void) { AppMessageResult rslt; Window *top; top = menu_create(); if (!top) { APP_LOG(APP_LOG_LEVEL_ERROR, "Failed to create window!"); return 1; } app_message_set_context(top); app_message_register_inbox_received(msg_received); rslt = app_message_open(app_message_inbox_size_maximum(), app_message_outbox_size_maximum()); if (rslt != APP_MSG_OK) { APP_LOG(APP_LOG_LEVEL_ERROR, "Failed to open message boxes: %d!", rslt); return 1; } window_stack_push(top, true); app_event_loop(); app_message_deregister_callbacks(); window_destroy(top); return 0; }
int main() { phonebook_item_t* phonebook = NULL; size_t count = 0; //Создаем меню menu_t* main_menu = menu_create(Rus("Главное меню")); if (!main_menu) { return 1; } //Добавляем пункты в меню menu_add_item(main_menu, Rus("Добавить запись"), &add_record, &phonebook, &count); menu_add_item(main_menu, Rus("Добавить тестовые записи"), &add_test_records, &phonebook, &count); menu_add_item(main_menu, Rus("Вывести записи"), &print_records, &phonebook, &count); menu_add_item(main_menu, Rus("Выполнить задание"), &do_work, &phonebook, &count); menu_add_item(main_menu, "Exit", &exit_program, NULL, NULL); //Выполняем меню menu_execute(main_menu, NULL); menu_free(main_menu); return 0; }
MENUPAN* menuhelp_create(void) { MENU *menu; MENUPAN *menupan; const char *choices[] = { "Help", SEP, "About", NULL, }; const char *desc[] = { "M-h", DSEP, NULL, }; menu=menu_create(choices, desc, A_SIZE(choices)); menupan=menu_pan_create(menu, 1, 4*ISIZE+1, 4); post_menu(menu); return menupan; }
int main(void) { Menu *mainMenu = menu_create(); int cmd = 1; bool exit = false; menu_setTitle(mainMenu, "GalaxY (V0.11.20)"); menu_addButtonText(mainMenu, "Jouer"); menu_addButtonText(mainMenu, "Charger"); menu_addButtonText(mainMenu, "Quitter"); while (!exit) { menu_display(*mainMenu); cmd = menu_getcmd(*mainMenu); switch (cmd) { case 1: play(); break; case 2: break; case 3: exit = true; break; default: break; } } menu_destroy(mainMenu); return 0; }
MENU* workspace_create(void) { MENU *menu; const char *choices[] = { "Lpr ", "Edita ", "Visualizza ", "Cerca ", "Help " , }; const char *desc[] = { NULL, NULL, NULL, NULL, NULL, }; menu=menu_create(choices, desc, A_SIZE(choices)); set_menu_format(menu, 1, A_SIZE(choices)); set_menu_fore(menu, COLOR_PAIR(1) | A_REVERSE); set_menu_back(menu, COLOR_PAIR(1)); post_menu(menu); return menu; }
MENUPAN* menulpr_create(void) { MENU *menu; MENUPAN *menupan; const char *choices[] = { "Cambia path db", SEP, "Esci", }; const char *desc[] = { "M-p", DSEP, "M-x", }; menu=menu_create(choices, desc, A_SIZE(choices)); menupan=menu_pan_create(menu, 1, 1, 0); post_menu(menu); return menupan; }
MENUPAN* menuvisual_create(void) { MENU *menu; MENUPAN *menupan; const char *choices[] = { "Visualizza tabella", NULL, NULL, }; const char *desc[] = { "M-t", NULL, NULL, }; menu=menu_create(choices, desc, 0); menupan=menu_pan_create(menu, 1, 2*ISIZE+1, 2); post_menu(menu); return menupan; }
static void usermenu_create (GtkWidget *menu) { menu_create (menu, usermenu_list, "", FALSE); menu_quick_item (0, 0, menu, XCMENU_SHADED, 0, 0); /* sep */ menu_quick_item_with_callback (menu_usermenu, _("Edit This Menu..."), menu, 0); }
/* Sets icon_menu */ static void create_menu(void) { GList *items; guchar *tmp; GtkItemFactory *item_factory; g_return_if_fail(icon_menu == NULL); item_factory = menu_create(menu_def, sizeof(menu_def) / sizeof(*menu_def), "<icon>", NULL); tmp = g_strconcat("<icon>/", _("File"), NULL); icon_menu = gtk_item_factory_get_widget(item_factory, "<icon>"); icon_file_menu = gtk_item_factory_get_widget(item_factory, tmp); g_free(tmp); /* File '' label... */ items = gtk_container_get_children(GTK_CONTAINER(icon_menu)); icon_file_item = GTK_BIN(g_list_nth(items, 1)->data)->child; g_list_free(items); /* Shift Open... label */ items = gtk_container_get_children(GTK_CONTAINER(icon_file_menu)); file_shift_item = GTK_BIN(items->data)->child; g_list_free(items); g_signal_connect(icon_menu, "unmap_event", G_CALLBACK(menu_closed), NULL); }
MENUPAN* menucerca_create(void) { MENU *menu; MENUPAN *menupan; const char *choices[] = { "Cerca per Orario", "Cerca per Docente", "Cerca per Aula", "Cerca per Materia" }; const char *desc[] = { "M-o ", "M-d ", "M-a ", NULL }; menu=menu_create(choices, desc, A_SIZE(choices)); menupan=menu_pan_create(menu, 1, 3*ISIZE+1, 3); post_menu(menu); return menupan; }
menu_t *menu_create_main_menu(game_t *game){ menu_t *menu = menu_create(game); menu_add_option(menu, "Play Game", &menu_new_game); menu_add_option(menu, "Load Game", &menu_load_game); menu_add_option(menu, "Options", &menu_options); menu_add_option(menu, "Exit", &menu_exit); return menu; }
static void gui_extra_rebuild() { ENTER; if (menu) gtk_widget_destroy(menu); menu_create(); tooltip_set(); RET(); }
static gboolean rebuild_menu(plugin_instance *p) { menu_priv *m = (menu_priv *) p; ENTER; if (m->menu && GTK_WIDGET_MAPPED(m->menu)) RET(TRUE); menu_create(p); m->rtout = 0; RET(FALSE); }
int main(int argc, char** argv){ int i; int j; int* score = (int*) malloc(sizeof(int)); if (SDL_Init(SDL_INIT_EVERYTHING) == -1){ printf("SDL_Init: %s\n", SDL_GetError()); return 1; } // Unicode support for hiscore table SDL_EnableUNICODE(1); if(TTF_Init()==-1) { printf("TTF_Init: %s\n", TTF_GetError()); return 1; } SDL_Surface* screen = SDL_SetVideoMode(608, 640, 32, SDL_SWSURFACE); SDL_WM_SetCaption("martet", "martet"); SDL_Surface* board = create_surface(320, 640); SDL_Surface* border = load_image("../data/tetborder.png"); draw_surface(321, 0, border, screen, NULL); draw_text(390, 35, screen, "Next tetromino:", 255, 255, 255); draw_text(330, 200, screen, "Score: ", 255, 255, 255); // create menu struct Menu* menu = menu_create(); menu_addelement(menu, "Start Game"); menu_addelement(menu, "Quit"); menu->active_element = &menu->elements[0]; menu->active_element->active = 1; bool running = true; while (running){ if (menu_martet(screen, board, menu, score) == KEYEVENT_EXIT) break; // fill the board with blocks on game over for (i = 0; i < BOARD_HEIGHT; i++) { char* line = get_board_line(i); for (j = 0; j < BOARD_WIDTH; j++) { line[j] = rand() % 7 + '0'; } draw_board(board); draw_surface(0, 0, board, screen, NULL); SDL_Flip(screen); SDL_Delay(50); } manage_hiscores(screen, board, score); board_delete(); } menu_destroy(menu); SDL_FreeSurface(border); SDL_FreeSurface(board); free(score); SDL_Quit(); return 0; }
/* Returns TRUE if the keys were installed (first call only) */ gboolean ensure_filer_menu() { GList *items; guchar *tmp; GtkWidget *item; //if (!filer_keys_need_init) return FALSE; //filer_keys_need_init = FALSE; GtkItemFactory* item_factory = menu_create(fm_menu_def, sizeof(fm_menu_def) / sizeof(*fm_menu_def), "<filer>", NULL); /* GET_MENU_ITEM(filer_menu, "filer"); GET_SMENU_ITEM(filer_file_menu, "filer", "File"); GET_SSMENU_ITEM(filer_hidden_menu, "filer", "Display", "Show Hidden"); GET_SSMENU_ITEM(filer_filter_dirs_menu, "filer", "Display", "Filter Directories With Files"); GET_SSMENU_ITEM(filer_reverse_menu, "filer", "Display", "Reversed"); GET_SSMENU_ITEM(filer_auto_size_menu, "filer", "Display", "Automatic"); GET_SSMENU_ITEM(filer_thumb_menu, "filer", "Display", "Show Thumbnails"); GET_SSMENU_ITEM(item, "filer", "File", "Set Type..."); filer_set_type = GTK_BIN(item)->child; GET_SMENU_ITEM(filer_new_menu, "filer", "New"); GET_SSMENU_ITEM(item, "filer", "Window", "Follow Symbolic Links"); filer_follow_sym = GTK_BIN(item)->child; // File '' label... items = gtk_container_get_children(GTK_CONTAINER(filer_menu)); filer_file_item = GTK_BIN(g_list_nth(items, 1)->data)->child; g_list_free(items); // Shift Open... label items = gtk_container_get_children(GTK_CONTAINER(filer_file_menu)); file_shift_item = GTK_BIN(g_list_nth(items, 5)->data)->child; g_list_free(items); GET_SSMENU_ITEM(item, "filer", "Window", "New Window"); filer_new_window = GTK_BIN(item)->child; g_signal_connect(filer_menu, "unmap_event", G_CALLBACK(menu_closed), NULL); g_signal_connect(filer_file_menu, "unmap_event", G_CALLBACK(menu_closed), NULL); g_signal_connect(filer_keys, "accel_changed", G_CALLBACK(save_menus), NULL); */ return TRUE; }
component* menu_audio_create(scene *s) { // Menu userdata audio_menu_data *local = malloc(sizeof(audio_menu_data)); memset(local, 0, sizeof(audio_menu_data)); local->old_audio_settings = settings_get()->sound; // Text config text_settings tconf; text_defaults(&tconf); tconf.font = FONT_BIG; tconf.halign = TEXT_CENTER; tconf.cforeground = color_create(0, 121, 0, 255); // Create menu and its header component* menu = menu_create(11); menu_attach(menu, label_create(&tconf, "AUDIO")); menu_attach(menu, filler_create()); menu_attach(menu, textslider_create_bind(&tconf, "SOUND", 10, 1, menu_audio_sound_slide, NULL, &settings_get()->sound.sound_vol)); menu_attach(menu, textslider_create_bind(&tconf, "MUSIC", 10, 1, menu_audio_music_slide, NULL, &settings_get()->sound.music_vol)); menu_attach(menu, textselector_create_bind_opts(&tconf, "MONO", NULL, NULL, &settings_get()->sound.music_mono, mono_opts, 2)); local->lib_selector = textselector_create(&tconf, "PLAYBACK:", menu_audio_library_toggled, local); module_source *sources = music_get_module_sources(); for(int i = 0; sources[i].name != 0; i++) { textselector_add_option(local->lib_selector, sources[i].name); if(sources[i].id == settings_get()->sound.music_library) { textselector_set_pos(local->lib_selector, i); } } menu_attach(menu, local->lib_selector); local->freq_selector = textselector_create(&tconf, "FREQUENCY:", menu_audio_freq_toggled, local); menu_audio_reset_freqs(local, 1); menu_attach(menu, local->freq_selector); local->resampler_selector = textselector_create(&tconf, "RESAMPLE:", menu_audio_resampler_toggled, local); menu_audio_reset_resamplers(local, 1); menu_attach(menu, local->resampler_selector); menu_attach(menu, textbutton_create(&tconf, "DONE", COM_ENABLED, menu_audio_done, local)); // Userdata & free function for it menu_set_userdata(menu, local); menu_set_free_cb(menu, menu_audio_free); return menu; }
int main(int argc, char* argv[]) { Menu* menu = menu_create(5); menu_add_title(menu, "Topwise company"); menu_add_title(menu, "Hello"); menu_add_item(menu, "hello", hello_print, (void*)HELLO_MSG, NULL); menu_add_item(menu, "weather", hello_print, (void*)WEATHER_MSG, NULL); menu_select(menu, 0); menu_select(menu, 1); menu_destroy(menu); return 0; }
static WMenu *createApplicationMenu(virtual_screen *vscr, Bool hidden) { WMenu *menu; menu = menu_create(vscr, NULL); wMenuAddCallback(menu, _("Unhide Here"), unhideHereCallback, NULL); if (hidden) wMenuAddCallback(menu, _("Unhide"), hideCallback, NULL); else wMenuAddCallback(menu, _("Hide"), hideCallback, NULL); wMenuAddCallback(menu, _("Launch"), relaunchCallback, NULL); wMenuAddCallback(menu, _("Set Icon..."), setIconCallback, NULL); wMenuAddCallback(menu, _("Kill"), killCallback, NULL); return menu; }
state task2(void* data, void* params) { str_count = 0; system("cls"); char ch; if (exist(STR_FILE_NAME)) { printf(Rus("Файл существует, прочитать? Y/N: ")); do { ch = fgetc(stdin); } while (ch != 'Y' && ch != 'y' && ch != 'N' && ch != 'n'); switch (ch) { case 'Y': case 'y': read_str(NULL, NULL); break; default: break; } } //Создаем меню menu_t* menu = menu_create("Задание 2"); //Добавляем пункты в меню menu_add_item(menu, Rus("Добавить строки с клавиатуры"), &input_str, NULL, NULL); menu_add_item(menu, Rus("Вывести текст на экран"), &print_str, NULL, NULL); menu_add_item(menu, Rus("Сохранить текст в файл"), &save_str, NULL, NULL); menu_add_item(menu, Rus("Прочитать текст из файла"), &read_str, NULL, NULL); menu_add_item(menu, Rus("Выполнить задание варианта 2"), &do_task2, NULL, NULL); menu_add_item(menu, Rus("Вернутся в главное меню"), &exit_sub, menu, NULL); //Выполняем меню menu_execute(menu, NULL); menu_free(menu); return REDRAW_ALL; }
component* menu_listen_create(scene *s) { listen_menu_data *local = malloc(sizeof(listen_menu_data)); s->gs->role = ROLE_SERVER; local->s = s; // Form address (host) ENetAddress address; address.host = ENET_HOST_ANY; address.port = settings_get()->net.net_listen_port; // Set up host local->host = enet_host_create(&address, 1, 2, 0, 0); if(local->host == NULL) { DEBUG("Failed to initialize ENet server"); free(local); return NULL; } enet_socket_set_option(local->host->socket, ENET_SOCKOPT_REUSEADDR, 1); // Text config text_settings tconf; text_defaults(&tconf); tconf.font = FONT_BIG; tconf.halign = TEXT_CENTER; tconf.cforeground = color_create(0, 121, 0, 255); // Create the menu component* menu = menu_create(11); menu_attach(menu, label_create(&tconf, "START SERVER")); menu_attach(menu, filler_create()); menu_attach(menu, label_create(&tconf, "Waiting ...")); menu_attach(menu, filler_create()); local->cancel_button = textbutton_create(&tconf, "CANCEL", COM_ENABLED, menu_listen_cancel, s); menu_attach(menu, local->cancel_button); menu_set_userdata(menu, local); menu_set_free_cb(menu, menu_listen_free); menu_set_tick_cb(menu, menu_listen_tick); return menu; }
void menuscreen_add_screen(Screen *s) { Menu *m; MenuItem *mi; debug(RPT_DEBUG, "%s(s=[%s])", __FUNCTION__, ((s != NULL) ? s->id : "(null)")); /* screens have not been created or no screen given ... */ if ((screens_menu == NULL) || (s == NULL)) return; /* Create a menu entry for the screen */ m = menu_create(s->id, NULL, ((s->name != NULL) ? s->name : s->id), s->client); if (m == NULL) { report(RPT_ERR, "%s: Cannot create menu", __FUNCTION__); return; } menu_set_association(m, s); menu_add_item(screens_menu, m); /* And add some items for it... */ mi = menuitem_create_action("", NULL, "(don't work yet)", s->client, MENURESULT_NONE); menu_add_item(m, mi); mi = menuitem_create_action("", NULL, "To Front", s->client, MENURESULT_QUIT); menu_add_item(m, mi); mi = menuitem_create_checkbox("", NULL, "Visible", s->client, false, true); menu_add_item(m, mi); mi = menuitem_create_numeric("", NULL, "Duration", s->client, 2, 3600, s->duration); menu_add_item(m, mi); mi = menuitem_create_ring("", NULL, "Priority", s->client, "Hidden\tBackground\tForeground\tAlert\tInput", s->priority); menu_add_item(m, mi); }
int main() { //Сохраняем текущие параметры консоли hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hConsole, DEFAULT_COLOR); //Создаем меню menu_t* main_menu = menu_create("Главное меню"); //Добавляем пункты в меню menu_add_item(main_menu, Rus("Задание 1"), &task1, NULL, NULL); menu_add_item(main_menu, Rus("Задание 2"), &task2, NULL, NULL); menu_add_item(main_menu, "Exit", &exit_program, NULL, NULL); //Выполняем меню menu_execute(main_menu, NULL); menu_free(main_menu); return 0; }
void set_seed(void) { Menu *menu = menu_create(); int cmd = 1; bool running = true; unsigned seed = 42; menu_setTitle(menu, "Seed"); menu_addButtonText(menu, "Generer aleatoirement un seed"); menu_addButtonText(menu, "Entrer un seed"); while (running) { menu_display(*menu); cmd = menu_getcmd(*menu); switch (cmd) { case 1: { seed = (unsigned)time(NULL) / clock(); printf("Seed: %u\n", seed); running = false; break; } case 2: running = false; printf("Entrez un seed: "); scanf("%u", &seed); purge_stdin(); break; default: running = false; break; } srand(seed); } }