static void gb_editor_view__buffer_changed_on_volume (GbEditorView *self, GParamSpec *pspec, IdeBuffer *buffer) { g_assert (GB_IS_EDITOR_VIEW (self)); g_assert (IDE_IS_BUFFER (buffer)); if (ide_buffer_get_changed_on_volume (buffer)) gtk_revealer_set_reveal_child (self->modified_revealer, TRUE); else if (gtk_revealer_get_reveal_child (self->modified_revealer)) { GtkTextIter iter; gtk_text_buffer_get_start_iter (GTK_TEXT_BUFFER (buffer), &iter); gtk_text_buffer_select_range (GTK_TEXT_BUFFER (buffer), &iter, &iter); /* * FIXME: * * Without this delay, I see a condition with split view where the * non-focused split will just render blank. Well that isn't totally * correct, it renders empty gutters and proper line grid background. But * no textual content. And the adjustment is way out of sync. Even * changing the adjustment manually doesn't help. So whatever, I'll * insert a short delay and we'll pick up after the textview has * stablized. */ g_timeout_add (10, no_really_scroll_to_the_top, g_object_ref (self)); gtk_revealer_set_reveal_child (self->modified_revealer, FALSE); } }
static void fsearch_window_apply_config (FsearchApplicationWindow *self) { g_assert (FSEARCH_WINDOW_IS_WINDOW (self)); FsearchApplication *app = FSEARCH_APPLICATION_DEFAULT; FsearchConfig *config = fsearch_application_get_config (app); if (config->restore_window_size) { gtk_window_set_default_size (GTK_WINDOW (self), config->window_width, config->window_height); } gtk_widget_set_visible (self->menubar, config->show_menubar); gtk_widget_set_visible (self->statusbar, config->show_statusbar); gtk_widget_set_visible (self->filter_combobox, config->show_filter); gtk_widget_set_visible (self->search_button, config->show_search_button); gtk_revealer_set_reveal_child (GTK_REVEALER (self->match_case_revealer), config->match_case); gtk_revealer_set_reveal_child (GTK_REVEALER (self->search_mode_revealer), config->enable_regex); gtk_revealer_set_reveal_child (GTK_REVEALER (self->search_in_path_revealer), config->search_in_path); if (!config->locations) { gtk_widget_show (self->empty_database_overlay); } }
void gs_app_row_unreveal (GsAppRow *app_row) { GtkWidget *child; GtkWidget *revealer; g_return_if_fail (GS_IS_APP_ROW (app_row)); child = gtk_bin_get_child (GTK_BIN (app_row)); gtk_widget_set_sensitive (child, FALSE); revealer = gtk_revealer_new (); gtk_revealer_set_reveal_child (GTK_REVEALER (revealer), TRUE); gtk_widget_show (revealer); g_object_ref (child); gtk_container_remove (GTK_CONTAINER (app_row), child); gtk_container_add (GTK_CONTAINER (revealer), child); g_object_unref (child); gtk_container_add (GTK_CONTAINER (app_row), revealer); g_signal_connect (revealer, "notify::child-revealed", G_CALLBACK (child_unrevealed), app_row); gtk_revealer_set_reveal_child (GTK_REVEALER (revealer), FALSE); }
static void show_info_bar(GtWin* self) { GtWinPrivate* priv = gt_win_get_instance_private(self); QueuedInfoData* data = g_queue_pop_head(priv->info_queue); if (data) { if (data->cb) { if (data->cb == G_CALLBACK(show_error_dialogue_cb)) { gtk_widget_set_visible(priv->info_bar_ok_button, FALSE); gtk_widget_set_visible(priv->info_bar_yes_button, FALSE); gtk_widget_set_visible(priv->info_bar_no_button, FALSE); gtk_widget_set_visible(priv->info_bar_details_button, TRUE); gtk_widget_set_visible(priv->info_bar_close_button, TRUE); gtk_label_set_markup(GTK_LABEL(priv->info_label), data->msg); gtk_info_bar_set_message_type(GTK_INFO_BAR(priv->info_bar), GTK_MESSAGE_ERROR); g_signal_connect(priv->info_bar, "response", G_CALLBACK(data->cb), data->udata); } else { g_signal_connect(priv->info_bar, "response", G_CALLBACK(data->cb), data->udata); gtk_widget_set_visible(priv->info_bar_ok_button, FALSE); gtk_widget_set_visible(priv->info_bar_yes_button, TRUE); gtk_widget_set_visible(priv->info_bar_no_button, TRUE); gtk_widget_set_visible(priv->info_bar_details_button, FALSE); gtk_widget_set_visible(priv->info_bar_close_button, FALSE); gtk_label_set_markup(GTK_LABEL(priv->info_label), data->msg); gtk_info_bar_set_message_type(GTK_INFO_BAR(priv->info_bar), GTK_MESSAGE_QUESTION); } } else { gtk_widget_set_visible(priv->info_bar_yes_button, FALSE); gtk_widget_set_visible(priv->info_bar_no_button, FALSE); gtk_widget_set_visible(priv->info_bar_ok_button, TRUE); gtk_widget_set_visible(priv->info_bar_details_button, FALSE); gtk_widget_set_visible(priv->info_bar_close_button, FALSE); gtk_label_set_markup(GTK_LABEL(priv->info_label), data->msg); gtk_info_bar_set_message_type(GTK_INFO_BAR(priv->info_bar), GTK_MESSAGE_INFO); } priv->cur_info_data = data; gtk_revealer_set_reveal_child(GTK_REVEALER(priv->info_revealer), TRUE); } else { priv->cur_info_data = NULL; gtk_revealer_set_reveal_child(GTK_REVEALER(priv->info_revealer), FALSE); } }
static void toggle_all (GtkButton *button, PnlDockBin *dock) { GtkRevealer *edge; edge = GTK_REVEALER (pnl_dock_bin_get_left_edge (dock)); gtk_revealer_set_reveal_child (edge, !gtk_revealer_get_reveal_child (edge)); edge = GTK_REVEALER (pnl_dock_bin_get_right_edge (dock)); gtk_revealer_set_reveal_child (edge, !gtk_revealer_get_reveal_child (edge)); edge = GTK_REVEALER (pnl_dock_bin_get_bottom_edge (dock)); gtk_revealer_set_reveal_child (edge, !gtk_revealer_get_reveal_child (edge)); }
/** * gtk_search_bar_handle_event: * @bar: a #GtkSearchBar * @event: a #GdkEvent containing key press events * * This function should be called when the top-level * window which contains the search bar received a key event. * * If the key event is handled by the search bar, the bar will * be shown, the entry populated with the entered text and %GDK_EVENT_STOP * will be returned. The caller should ensure that events are * not propagated further. * * If no entry has been connected to the search bar, using * gtk_search_bar_connect_entry(), this function will return * immediately with a warning. * * ## Showing the search bar on key presses * * |[<!-- language="C" --> * static gboolean * on_key_press_event (GtkWidget *widget, * GdkEvent *event, * gpointer user_data) * { * GtkSearchBar *bar = GTK_SEARCH_BAR (user_data); * return gtk_search_bar_handle_event (bar, event); * } * * g_signal_connect (window, * "key-press-event", * G_CALLBACK (on_key_press_event), * search_bar); * ]| * * Returns: %GDK_EVENT_STOP if the key press event resulted * in text being entered in the search entry (and revealing * the search bar if necessary), %GDK_EVENT_PROPAGATE otherwise. * * Since: 3.10 */ gboolean gtk_search_bar_handle_event (GtkSearchBar *bar, GdkEvent *event) { GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar); gboolean handled; if (priv->reveal_child) return GDK_EVENT_PROPAGATE; if (priv->entry == NULL) { g_warning ("The search bar does not have an entry connected to it. Call gtk_search_bar_connect_entry() to connect one."); return GDK_EVENT_PROPAGATE; } if (GTK_IS_SEARCH_ENTRY (priv->entry)) handled = gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->entry), event); else handled = gtk_search_bar_handle_event_for_entry (bar, event); if (handled == GDK_EVENT_STOP) gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), TRUE); return handled; }
static void ide_editor_frame_actions_replace_confirm (GSimpleAction *action, GVariant *state, gpointer user_data) { IdeEditorFrame *self = user_data; g_autofree const gchar **strv = NULL; gsize array_length; g_assert (IDE_IS_EDITOR_FRAME (self)); g_assert (state != NULL); g_assert (g_variant_is_of_type (state, G_VARIANT_TYPE_STRING_ARRAY)); strv = g_variant_get_strv (state, &array_length); g_assert (array_length >= 2); gtk_entry_set_text (GTK_ENTRY (self->search_entry), strv[0]); gtk_entry_set_text (GTK_ENTRY (self->replace_entry), strv[1]); gtk_widget_show (GTK_WIDGET (self->replace_entry)); gtk_widget_show (GTK_WIDGET (self->replace_button)); gtk_widget_show (GTK_WIDGET (self->replace_all_button)); /* increment pending_replace_confirm so that search_revealer_on_child_revealed_changed * will know to go to the next search result (the occurrence only stays selected after * search_entry has been mapped). */ self->pending_replace_confirm++; gtk_revealer_set_reveal_child (self->search_revealer, TRUE); gtk_widget_grab_focus (GTK_WIDGET (self->search_entry)); }
static void ide_omni_bar__build_manager__build_started (IdeOmniBar *self, IdeBuildPipeline *build_pipeline, IdeBuildManager *build_manager) { g_assert (IDE_IS_OMNI_BAR (self)); g_assert (IDE_IS_BUILD_PIPELINE (build_pipeline)); g_assert (IDE_IS_BUILD_MANAGER (build_manager)); self->did_build = TRUE; self->seen_count = 0; self->message_handler = g_signal_connect_object (build_pipeline, "notify::message", G_CALLBACK (ide_omni_bar_notify_message), self, G_CONNECT_SWAPPED); gtk_revealer_set_reveal_child (self->popover_details_revealer, TRUE); gtk_label_set_label (self->popover_build_result_label, _("Building")); gtk_label_set_attributes (self->popover_build_result_label, NULL); dzl_gtk_widget_remove_style_class (GTK_WIDGET (self->popover_build_result_label), "error"); dzl_gtk_widget_remove_style_class (GTK_WIDGET (self->popover_build_result_label), "success"); dzl_gtk_widget_add_style_class (GTK_WIDGET (self), "building"); }
void spd_hide() { gtk_widget_set_sensitive(GTK_WIDGET(p_innerPaned), TRUE); stop_requested = FALSE; gtk_revealer_set_reveal_child(revealer_scan_progress, FALSE); gtk_spinner_stop(scanningSpinner); }
void spd_display() { gtk_spinner_start(scanningSpinner); gtk_label_set_text(lab_scan_progress, "0\n0"); gtk_revealer_set_reveal_child(revealer_scan_progress, TRUE); gtk_widget_set_sensitive(GTK_WIDGET(p_innerPaned), FALSE); }
static gboolean reveal_one (gpointer data) { GtkWidget *window = data; GtkBuilder *builder; gchar *name; GtkRevealer *revealer; builder = GTK_BUILDER (g_object_get_data (G_OBJECT (window), "builder")); name = g_strdup_printf ("revealer%d", count); revealer = (GtkRevealer *)gtk_builder_get_object (builder, name); gtk_revealer_set_reveal_child (revealer, TRUE); g_signal_connect (revealer, "notify::child-revealed", G_CALLBACK (change_direction), NULL); count++; if (count >= 9) { timeout = 0; return FALSE; } else return TRUE; }
static void toggle_overlay (GtkWidget *checkbutton, GtkWidget *revealer) { gtk_revealer_set_reveal_child (GTK_REVEALER (revealer), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(checkbutton))); }
void gt_games_view_child_hide_overlay(GtGamesViewChild* self) { GtGamesViewChildPrivate* priv = gt_games_view_child_get_instance_private(self); gtk_revealer_set_reveal_child(GTK_REVEALER(priv->middle_revealer), FALSE); }
static void stop_search_cb (GtkWidget *entry, GtkSearchBar *bar) { GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar); gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), FALSE); }
static void ide_editor_view_actions_reload_buffer_cb (GObject *object, GAsyncResult *result, gpointer user_data) { IdeBufferManager *buffer_manager = (IdeBufferManager *)object; g_autoptr(IdeEditorView) self = user_data; g_autoptr(GError) error = NULL; g_autoptr(IdeBuffer) buffer = NULL; g_assert (IDE_IS_BUFFER_MANAGER (buffer_manager)); g_assert (IDE_IS_EDITOR_VIEW (self)); gtk_revealer_set_reveal_child (self->modified_revealer, FALSE); if (!(buffer = ide_buffer_manager_load_file_finish (buffer_manager, result, &error))) { g_warning ("%s", error->message); } else { g_signal_emit_by_name (self->frame1->source_view, "movement", IDE_SOURCE_VIEW_MOVEMENT_FIRST_LINE, FALSE, TRUE, FALSE); if (self->frame2 != NULL) g_signal_emit_by_name (self->frame2->source_view, "movement", IDE_SOURCE_VIEW_MOVEMENT_FIRST_LINE, FALSE, TRUE, FALSE); } ide_widget_hide_with_fade (GTK_WIDGET (self->progress_bar)); }
void gt_channels_container_child_hide_overlay(GtChannelsContainerChild* self) { GtChannelsContainerChildPrivate* priv = gt_channels_container_child_get_instance_private(self); gtk_revealer_set_reveal_child(GTK_REVEALER(priv->middle_revealer), FALSE); }
static void photos_zoom_controls_update_buttons (PhotosZoomControls *self) { GtkWidget *image; gboolean zoom_best_fit_enabled; gboolean zoom_out_enabled; const gchar *icon_name; zoom_best_fit_enabled = g_action_get_enabled (self->zoom_best_fit_action); zoom_out_enabled = g_action_get_enabled (self->zoom_out_action); g_return_if_fail (zoom_best_fit_enabled == zoom_out_enabled); gtk_revealer_set_reveal_child (GTK_REVEALER (self->revealer), zoom_out_enabled); gtk_actionable_set_action_name (GTK_ACTIONABLE (self->zoom_toggle_button), NULL); gtk_actionable_set_action_target_value (GTK_ACTIONABLE (self->zoom_toggle_button), NULL); if (zoom_out_enabled) { gtk_actionable_set_action_name (GTK_ACTIONABLE (self->zoom_toggle_button), "app.zoom-best-fit"); } else { GVariant *target_value = NULL; target_value = photos_utils_create_zoom_target_value (1.0, PHOTOS_ZOOM_EVENT_MOUSE_CLICK); gtk_actionable_set_action_target_value (GTK_ACTIONABLE (self->zoom_toggle_button), target_value); gtk_actionable_set_action_name (GTK_ACTIONABLE (self->zoom_toggle_button), "app.zoom-in"); } icon_name = zoom_out_enabled ? "zoom-fit-best-symbolic" : "zoom-in-symbolic"; image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_INVALID); gtk_image_set_pixel_size (GTK_IMAGE (image), 16); gtk_button_set_image (GTK_BUTTON (self->zoom_toggle_button), image); }
static void ide_editor_frame_animate_map (IdeEditorFrame *self, gboolean visible) { g_assert (IDE_IS_EDITOR_FRAME (self)); gtk_revealer_set_reveal_child (self->map_revealer, visible); }
static void dismiss (GtkWidget *button) { GtkWidget *w; w = gtk_widget_get_ancestor (button, GTK_TYPE_REVEALER); gtk_revealer_set_reveal_child (GTK_REVEALER (w), FALSE); }
static void close_button_clicked_cb (GtkWidget *button, GtkSearchBar *bar) { GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar); gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), FALSE); }
static void gb_editor_view_hide_reload_bar (GbEditorView *self, GtkWidget *button) { g_assert (GB_IS_EDITOR_VIEW (self)); gtk_revealer_set_reveal_child (self->modified_revealer, FALSE); }
static void close_clicked_cb (GtkButton *button, IdeTerminalSearch *self) { g_assert (IDE_IS_TERMINAL_SEARCH (self)); gtk_revealer_set_reveal_child(self->search_revealer, FALSE); }
static void photos_preview_nav_buttons_fade_out_button (PhotosPreviewNavButtons *self, GtkWidget *widget) { gtk_revealer_set_reveal_child (GTK_REVEALER (widget), FALSE); g_signal_connect_swapped (widget, "notify::child-revealed", G_CALLBACK (photos_preview_nav_buttons_notify_child_revealed), self); }
static void photos_preview_nav_buttons_fade_in_button (PhotosPreviewNavButtons *self, GtkWidget *widget) { if (self->model == NULL || !gtk_tree_row_reference_valid (self->current_row)) return; gtk_widget_show_all (widget); gtk_revealer_set_reveal_child (GTK_REVEALER (widget), TRUE); }
void laps_row_slide_in (LapsRow *row) { LapsRowPrivate *priv; priv = laps_row_get_instance_private (row); gtk_revealer_set_reveal_child (GTK_REVEALER (priv->slider), TRUE); }
int main(int argc, char **argv) { GtkWidget *window, *revealer, *grid, *widget; GtkCssProvider *cssprovider; GError *error = NULL; guint x, y; GOptionContext *context = g_option_context_new (NULL); g_option_context_add_main_entries (context, options, NULL); frame_stats_add_options (g_option_context_get_main_group (context)); g_option_context_add_group (context, gtk_get_option_group (TRUE)); if (!g_option_context_parse (context, &argc, &argv, &error)) { g_printerr ("Option parsing failed: %s\n", error->message); return 1; } window = gtk_window_new (GTK_WINDOW_TOPLEVEL); frame_stats_ensure (GTK_WINDOW (window)); revealer = gtk_revealer_new (); gtk_widget_set_valign (revealer, GTK_ALIGN_START); gtk_revealer_set_transition_type (GTK_REVEALER (revealer), GTK_REVEALER_TRANSITION_TYPE_SLIDE_DOWN); gtk_revealer_set_transition_duration (GTK_REVEALER (revealer), reveal_time * 1000); gtk_revealer_set_reveal_child (GTK_REVEALER (revealer), TRUE); g_signal_connect_after (revealer, "map", G_CALLBACK (toggle_reveal), NULL); g_signal_connect_after (revealer, "notify::child-revealed", G_CALLBACK (toggle_reveal), NULL); gtk_container_add (GTK_CONTAINER (window), revealer); grid = gtk_grid_new (); gtk_container_add (GTK_CONTAINER (revealer), grid); cssprovider = gtk_css_provider_new (); gtk_css_provider_load_from_data (cssprovider, "* { padding: 2px; text-shadow: 5px 5px 2px grey; }", -1, NULL); for (x = 0; x < 10; x++) { for (y = 0; y < 20; y++) { widget = gtk_label_new ("Hello World"); gtk_style_context_add_provider (gtk_widget_get_style_context (widget), GTK_STYLE_PROVIDER (cssprovider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); gtk_grid_attach (GTK_GRID (grid), widget, x, y, 1, 1); } } gtk_widget_show_all (window); gtk_main (); return 0; }
/** * gtk_search_bar_set_search_mode: * @bar: a #GtkSearchBar * @search_mode: the new state of the search mode * * Switches the search mode on or off. * * Since: 3.10 */ void gtk_search_bar_set_search_mode (GtkSearchBar *bar, gboolean search_mode) { GtkSearchBarPrivate *priv = gtk_search_bar_get_instance_private (bar); g_return_if_fail (GTK_IS_SEARCH_BAR (bar)); gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), search_mode); }
static void motion_enter_cb(GtkWidget* widget, GdkEvent* evt, gpointer udata) { GtChannelsViewChild* self = GT_CHANNELS_VIEW_CHILD(udata); GtChannelsViewChildPrivate* priv = gt_channels_view_child_get_instance_private(self); gtk_revealer_set_reveal_child(GTK_REVEALER(priv->middle_revealer), TRUE); }
static void motion_leave_cb(GtkWidget* widget, GdkEvent* evt, gpointer udata) { GtChannelsContainerChild* self = GT_CHANNELS_CONTAINER_CHILD(udata); GtChannelsContainerChildPrivate* priv = gt_channels_container_child_get_instance_private(self); gtk_revealer_set_reveal_child(GTK_REVEALER(priv->middle_revealer), FALSE); }
static void motion_leave_cb(GtkWidget* widget, GdkEvent* evt, gpointer udata) { GtGamesViewChild* self = GT_GAMES_VIEW_CHILD(udata); GtGamesViewChildPrivate* priv = gt_games_view_child_get_instance_private(self); gtk_revealer_set_reveal_child(GTK_REVEALER(priv->middle_revealer), FALSE); }