void DiveEventItem::setEvent(struct event *ev) { if (!ev) return; internalEvent = ev; setupPixmap(); setupToolTipString(); recalculatePos(true); }
ThumbnailWidget::ThumbnailWidget(Page * page) : page_(page), pixmap_(NULL), label_(NULL), indicator_(NULL), drag_progress_(false), hightlighted_(false) { setFlag(QGraphicsItem::ItemClipsToShape); setFlag(QGraphicsItem::ItemClipsChildrenToShape); setAcceptDrops(true); setupPixmap(); setupLabel(); setupToolTip(); setupIndicator(); connect(page, SIGNAL(rotated(int)), SLOT(handlePageRotate())); connect(page, SIGNAL(changed()), SLOT(updatePageIndicators())); connect(page, SIGNAL(exported()), SLOT(updatePageIndicators())); connect(page, SIGNAL(thumbChanged()), SLOT(setupPixmap())); updatePageIndicators(); }
void Tetris::setOptions () { if (setupdialog) { gtk_spin_button_set_value (GTK_SPIN_BUTTON (sentry), startingLevel); gtk_spin_button_set_value (GTK_SPIN_BUTTON (fill_prob_spinner), line_fill_prob); gtk_spin_button_set_value (GTK_SPIN_BUTTON (fill_height_spinner), line_fill_height); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sound_toggle), games_sound_is_enabled ()); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (do_preview_toggle), do_preview); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (random_block_colors_toggle), random_block_colors); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rotate_counter_clock_wise_toggle), rotateCounterClockWise); if (theme_preview) { theme_preview->setTheme (themeno); gtk_widget_queue_draw(theme_preview->getWidget()); } } scoreFrame->setLevel (startingLevel); scoreFrame->setStartingLevel (startingLevel); setupPixmap (); }
Tetris::Tetris(int cmdlLevel): themeno (0), field(0), paused(false), timeoutId(0), onePause(false), inPlay(false), useTarget(false), bgimage(0), setupdialog(0), cmdlineLevel(cmdlLevel), fastFall(false), dropBlock(false) { GtkUIManager *ui_manager; GtkAccelGroup *accel_group; GtkActionGroup *action_group; GtkWidget *vbox; GtkWidget *aspect_frame; GtkWidget *menubar; gchar *outdir; const char *dname; const GtkTargetEntry targets[] = {{(gchar*) "text/uri-list", 0, URI_LIST}, {(gchar*) "property/bgimage", 0, URI_LIST}, {(gchar*) "text/plain", 0, TEXT_PLAIN}, {(gchar*) "STRING", 0, TEXT_PLAIN}, {(gchar*) "application/x-color", 0, COLOUR}, {(gchar*) "x-special/gnome-reset-background", 0, RESET}}; const GtkActionEntry actions[] = { { "GameMenu", NULL, N_("_Game") }, { "SettingsMenu", NULL, N_("_Settings") }, { "HelpMenu", NULL, N_("_Help") }, { "NewGame", GAMES_STOCK_NEW_GAME, NULL, NULL, NULL, G_CALLBACK (gameNew) }, { "Pause", GAMES_STOCK_PAUSE_GAME, NULL, NULL, NULL, G_CALLBACK (gamePause) }, { "Resume", GAMES_STOCK_RESUME_GAME, NULL, NULL, NULL, G_CALLBACK (gamePause) }, { "Scores", GAMES_STOCK_SCORES, NULL, NULL, NULL, G_CALLBACK (gameTopTen) }, { "EndGame", GAMES_STOCK_END_GAME, NULL, NULL, NULL, G_CALLBACK (gameEnd) }, { "Quit", GTK_STOCK_QUIT, NULL, NULL, NULL, G_CALLBACK (gameQuit) }, { "Preferences", GTK_STOCK_PREFERENCES, NULL, NULL, NULL, G_CALLBACK (gameProperties) }, #ifdef WITH_GAMEPLAYDOC { "Contents", GAMES_STOCK_CONTENTS, NULL, NULL, NULL, G_CALLBACK (gameHelp) }, #endif { "About", GTK_STOCK_ABOUT, NULL, NULL, NULL, G_CALLBACK (gameAbout) } }; const char ui_description[] = "<ui>" " <menubar name='MainMenu'>" " <menu action='GameMenu'>" " <menuitem action='NewGame'/>" " <menuitem action='Pause'/>" " <menuitem action='Resume'/>" " <separator/>" " <menuitem action='Scores'/>" " <menuitem action='EndGame'/>" " <separator/>" " <menuitem action='Quit'/>" " </menu>" " <menu action='SettingsMenu'>" " <menuitem action='Preferences'/>" " </menu>" " <menu action='HelpMenu'>" #ifdef WITH_GAMEPLAYDOC " <menuitem action='Contents'/>" #endif " <menuitem action='About'/>" " </menu>" " </menubar>" "</ui>"; /* Locate our background image. */ outdir = g_build_filename (g_get_user_data_dir (), "gnometris", NULL); if (!g_file_test (outdir, G_FILE_TEST_EXISTS)) #ifdef _WIN32 mkdir (outdir); #else mkdir (outdir, 0700); #endif bgPixmap = g_build_filename (outdir, "background.bin", NULL); g_free (outdir); /* Use default background image, if none found in user's home dir.*/ if (!g_file_test (bgPixmap, G_FILE_TEST_EXISTS)) { dname = games_runtime_get_directory (GAMES_RUNTIME_GAME_PIXMAP_DIRECTORY); defaultPixmap = g_build_filename (dname, "gnometris.svg", NULL); default_bgimage = true; } w = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (w), _("Gnometris")); g_signal_connect (w, "delete_event", G_CALLBACK (gameQuit), this); gtk_drag_dest_set (w, GTK_DEST_DEFAULT_ALL, targets, G_N_ELEMENTS(targets), GDK_ACTION_MOVE); g_signal_connect (G_OBJECT (w), "drag_data_received", G_CALLBACK (dragDrop), this); g_signal_connect (G_OBJECT (w), "focus_out_event", G_CALLBACK (focusOut), this); line_fill_height = 0; line_fill_prob = 5; gtk_window_set_default_size (GTK_WINDOW (w), DEFAULT_WIDTH, DEFAULT_HEIGHT); games_conf_add_window (GTK_WINDOW (w), KEY_SAVED_GROUP); preview = new Preview (); field = new Field(); field->setUseTarget (false); initOptions (); /* prepare menus */ games_stock_init (); action_group = gtk_action_group_new ("MenuActions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (action_group, actions, G_N_ELEMENTS (actions), this); ui_manager = gtk_ui_manager_new (); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, NULL); accel_group = gtk_ui_manager_get_accel_group (ui_manager); gtk_window_add_accel_group (GTK_WINDOW (w), accel_group); new_game_action = gtk_action_group_get_action (action_group, "NewGame"); pause_action = gtk_action_group_get_action (action_group, "Pause"); resume_action = gtk_action_group_get_action (action_group, "Resume"); scores_action = gtk_action_group_get_action (action_group, "Scores"); end_game_action = gtk_action_group_get_action (action_group, "EndGame"); preferences_action = gtk_action_group_get_action (action_group, "Preferences"); games_stock_set_pause_actions (pause_action, resume_action); menubar = gtk_ui_manager_get_widget (ui_manager, "/MainMenu"); GtkWidget * hb = gtk_hbox_new(FALSE, 0); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (w), vbox); gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hb, TRUE, TRUE, 0); aspect_frame = gtk_aspect_frame_new (NULL, 0.5, 0.5, (float) COLUMNS / (float) LINES, FALSE); gtk_frame_set_shadow_type (GTK_FRAME (aspect_frame), GTK_SHADOW_NONE); gtk_container_add (GTK_CONTAINER (aspect_frame), field->getWidget()); gtk_widget_set_events(w, gtk_widget_get_events(w) | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK); GtkWidget *vb1 = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(vb1), 10); gtk_box_pack_start(GTK_BOX(vb1), aspect_frame, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hb), vb1, TRUE, TRUE, 0); setupPixmap(); g_signal_connect (w, "key_press_event", G_CALLBACK (keyPressHandler), this); g_signal_connect (w, "key_release_event", G_CALLBACK (keyReleaseHandler), this); GtkWidget *vb2 = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(vb2), 10); gtk_box_pack_end(GTK_BOX(hb), vb2, 0, 0, 0); gtk_box_pack_start(GTK_BOX(vb2), preview->getWidget(), FALSE, FALSE, 0); scoreFrame = new ScoreFrame(cmdlineLevel); gtk_box_pack_end(GTK_BOX(vb2), scoreFrame->getWidget(), TRUE, FALSE, 0); high_scores = new HighScores (); setOptions (); themeList = NULL; gtk_widget_show(vbox); gtk_widget_show(hb); gtk_widget_show(vb1); gtk_widget_show(vb2); gtk_widget_show(aspect_frame); gtk_widget_show(field->getWidget()); gtk_widget_show(preview->getWidget()); scoreFrame->show(); gtk_widget_show(w); gtk_action_set_sensitive(pause_action, FALSE); gtk_action_set_sensitive(end_game_action, FALSE); gtk_action_set_sensitive(preferences_action, TRUE); confNotifyID = g_signal_connect (games_conf_get_default (), "value-changed", G_CALLBACK (confNotify), this); }