예제 #1
0
gint main(gint argc, gchar* argv[]) {
    GtkWidget* login_dialog;
    const char* user_const;
    const char* pass_const;
    gchar username[100];
    gchar password[100];
    gint result;
    gnome_program_init("CdDatabase", "0.1", LIBGNOMEUI_MODULE,
                       argc, argv,
                       GNOME_PARAM_APP_DATADIR, "",
                       NULL);
    GtkWidget* main_window = create_main_window();
    gtk_widget_show_all(main_window);
    /* Must login to database before we start, so create dialog to
       input username and password */
    login_dialog = create_login_dialog();

    while (1) {
        result = gtk_dialog_run(GTK_DIALOG(login_dialog));

        /* If we click cancel, then confirm exit */
        if (result != GTK_RESPONSE_ACCEPT) {
            if (confirm_exit()) {
                return 0;
            } else {
                continue;
            }
        }

        /* Retrieve username and password */
        user_const = gtk_entry_get_text(GTK_ENTRY(username_entry));
        pass_const = gtk_entry_get_text(GTK_ENTRY(password_entry));
        strcpy(username, user_const);
        strcpy(password, pass_const);

        if (database_start(username, password) == TRUE) {
            break;
        }

        /* If we couldn't logon, then display error message and try again */
        GtkWidget* error_dialog = gtk_message_dialog_new(GTK_WINDOW(main_window),
                                  GTK_DIALOG_DESTROY_WITH_PARENT,
                                  GTK_MESSAGE_ERROR,
                                  GTK_BUTTONS_CLOSE,
                                  "Could not log on! - Check Username and Password");
        gtk_dialog_run(GTK_DIALOG(error_dialog));
        gtk_widget_destroy(error_dialog);
    }

    gtk_widget_destroy(login_dialog);
    gtk_main();
    return 0;
}
예제 #2
0
파일: callbacks.c 프로젝트: juanmasg/termit
gboolean termit_on_delete_event(GtkWidget *widget, GdkEvent *event, gpointer data)
{
    return confirm_exit();
}
예제 #3
0
파일: main.cpp 프로젝트: Zed2808/cursed
int main() {
    // Initialize custom GUI stuff
    init_gui();

    // Draw splash thingy
    //splash();

    // Create player object
    Player player;

    // Set player's name
    set_character_name(player);

    // Set player's main attributes
    set_main_attributes(player);

    // Add base stuff to player inventory
    player.inventory.additem(new BattleAxe(), 1);
    player.inventory.additem(new Shortsword(), 1);
    player.inventory.additem(new Mace(), 1);
    player.inventory.additem(new Fork(), 8);

    /* BEGIN OLD TESTING STUFF

    // Display player stats window
    draw_character_stats(player);
    getch();

    */ //END OLD TESTING STUFF

    // Load map
    Map current_map = Map();
    load_map(current_map, "testmap");
    log.write("Loaded testmap.");

    // Place Player onto map
    current_map.place_character(2, 2, player);

    log.write("Press 'h' for help.");

    /* Prepare for player input */
    keypad(stdscr, true);
    int input = 0;

    // Do stuff with player input
    bool exit = false;
    while(true) {
        // Escape: exit game confirmation
        if(input == 27) {
            exit = confirm_exit();
        }

        // Arrow keys: move player character
        if(input == KEY_UP || input == KEY_DOWN || input == KEY_LEFT || input == KEY_RIGHT) {
            current_map.move_character(player, input);
        }

        // I: open inventory
        if(input == 'i') {
            player_inventory(player);
        }

        // H: print help
        if(input == 'h') {
            log.write("Quit game: esc\n  Open/close inventory: i\n  Move character: arrow keys");
        }

        // Draw the rest of the windows
        draw_map(current_map);
        draw_log(log);
        draw_character_equipslot(player);

        // Exit if exit flag was set
        if(exit) break;

        // Get new input
        input = getch();
    }

    endwin();

    return 0;
}
예제 #4
0
파일: callbacks.c 프로젝트: juanmasg/termit
void termit_on_exit()
{
    if (confirm_exit() == FALSE)
        termit_quit();
}