本文整理汇总了C++中gtk_widget_has_focus函数的典型用法代码示例。如果您正苦于以下问题:C++ gtk_widget_has_focus函数的具体用法?C++ gtk_widget_has_focus怎么用?C++ gtk_widget_has_focus使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了gtk_widget_has_focus函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gth_browser_activate_rename
void
gth_browser_activate_rename (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GthBrowser *browser = GTH_BROWSER (user_data);
GtkWidget *folder_tree;
GtkWidget *file_list;
folder_tree = gth_browser_get_folder_tree (browser);
if (gtk_widget_has_focus (folder_tree)) {
GthFileData *file_data;
file_data = gth_folder_tree_get_selected (GTH_FOLDER_TREE (folder_tree));
if (file_data == NULL)
return;
if (! g_file_info_get_attribute_boolean (file_data->info, G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME))
return;
gth_folder_tree_start_editing (GTH_FOLDER_TREE (gth_browser_get_folder_tree (browser)), file_data->file);
g_object_unref (file_data);
return;
}
file_list = gth_browser_get_file_list_view (browser);
if (gtk_widget_has_focus (file_list)) {
gth_hook_invoke ("gth-browser-file-list-rename", browser);
return;
}
if (gth_window_get_current_page (GTH_WINDOW (browser)) == GTH_BROWSER_PAGE_VIEWER) {
gth_hook_invoke ("gth-browser-file-list-rename", browser);
return;
}
}
示例2: qtcComboBoxIsFocusChanged
gboolean
qtcComboBoxIsFocusChanged(GtkWidget *widget)
{
if (qtcComboFocus == widget) {
if (!gtk_widget_has_focus(widget)) {
qtcComboFocus = NULL;
return TRUE;
}
} else if (gtk_widget_has_focus(widget)) {
qtcComboFocus = widget;
return TRUE;
}
return FALSE;
}
示例3: gimp_container_grid_view_focus
static gboolean
gimp_container_grid_view_focus (GtkWidget *widget,
GtkDirectionType direction)
{
GimpContainerGridView *view = GIMP_CONTAINER_GRID_VIEW (widget);
if (gtk_widget_get_can_focus (widget) && ! gtk_widget_has_focus (widget))
{
gtk_widget_grab_focus (GTK_WIDGET (widget));
return TRUE;
}
switch (direction)
{
case GTK_DIR_UP:
return gimp_container_grid_view_move_by (view, 0, -1);
case GTK_DIR_DOWN:
return gimp_container_grid_view_move_by (view, 0, 1);
case GTK_DIR_LEFT:
return gimp_container_grid_view_move_by (view, -1, 0);
case GTK_DIR_RIGHT:
return gimp_container_grid_view_move_by (view, 1, 0);
case GTK_DIR_TAB_FORWARD:
case GTK_DIR_TAB_BACKWARD:
break;
}
return FALSE;
}
示例4: window_menu_on_expose
static gboolean window_menu_on_expose(GtkWidget* widget, GdkEventExpose* event, gpointer data)
#endif
{
WindowMenu* window_menu = data;
if (gtk_widget_has_focus(window_menu->applet))
gtk_paint_focus(gtk_widget_get_style(widget),
#if GTK_CHECK_VERSION (3, 0, 0)
cr,
#else
gtk_widget_get_window(widget),
#endif
gtk_widget_get_state(widget),
#if !GTK_CHECK_VERSION (3, 0, 0)
NULL,
#endif
widget,
"menu-applet",
0, 0,
#if GTK_CHECK_VERSION (3, 0, 0)
gtk_widget_get_allocated_width (widget),
gtk_widget_get_allocated_height (widget));
#else
-1, -1);
#endif
return FALSE;
}
示例5: gb_search_box_popover_set_visible
static void
gb_search_box_popover_set_visible (GbSearchBox *self,
gboolean visible)
{
gboolean entry_has_text;
g_return_if_fail (GB_IS_SEARCH_BOX (self));
entry_has_text = !!(gtk_entry_get_text_length (GTK_ENTRY (self->entry)));
if (visible == gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->button)))
return;
if (visible && entry_has_text)
{
if (!gtk_widget_has_focus (GTK_WIDGET (self->entry)))
gtk_widget_grab_focus (GTK_WIDGET (self->entry));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->button), TRUE);
}
else if (!visible)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->button), FALSE);
}
}
示例6: mail_shell_view_mail_display_needs_key
static gboolean
mail_shell_view_mail_display_needs_key (EMailDisplay *mail_display,
gboolean with_input)
{
gboolean needs_key = FALSE;
if (gtk_widget_has_focus (GTK_WIDGET (mail_display))) {
WebKitWebFrame *frame;
WebKitDOMDocument *dom;
WebKitDOMElement *element;
gchar *name = NULL;
frame = webkit_web_view_get_focused_frame (WEBKIT_WEB_VIEW (mail_display));
if (!frame)
return FALSE;
dom = webkit_web_frame_get_dom_document (frame);
element = webkit_dom_html_document_get_active_element (WEBKIT_DOM_HTML_DOCUMENT (dom));
if (element)
name = webkit_dom_node_get_node_name (WEBKIT_DOM_NODE (element));
/* if INPUT or TEXTAREA has focus, then any key press should go there */
if (name && ((with_input && g_ascii_strcasecmp (name, "INPUT") == 0) || g_ascii_strcasecmp (name, "TEXTAREA") == 0)) {
needs_key = TRUE;
}
g_free (name);
}
return needs_key;
}
示例7: address_completion_complete_address_in_entry
/**
* Initialize search term for address completion.
* \param entry Address entry field.
*/
static gboolean address_completion_complete_address_in_entry(GtkEntry *entry,
gboolean next)
{
gint ncount, cursor_pos;
gchar *searchTerm, *new = NULL;
cm_return_val_if_fail(entry != NULL, FALSE);
if (!gtk_widget_has_focus(GTK_WIDGET(entry))) return FALSE;
/* get an address component from the cursor */
searchTerm = get_address_from_edit( entry, &cursor_pos );
if( ! searchTerm ) return FALSE;
/* g_print( "search for :::%s:::\n", searchTerm ); */
/* Clear any existing search */
g_free( _compWindow_->searchTerm );
_compWindow_->searchTerm = g_strdup( searchTerm );
/* Perform search on local completion index */
ncount = complete_address( searchTerm );
if( 0 < ncount ) {
new = get_next_complete_address();
g_free( new );
}
示例8: Gtk3Gui_WLineEdit_GetIntProperty
static GWENHYWFAR_CB
int Gtk3Gui_WLineEdit_GetIntProperty(GWEN_WIDGET *w,
GWEN_DIALOG_PROPERTY prop,
int index,
int defaultValue) {
GtkWidget *g;
g=GTK_WIDGET(GWEN_Widget_GetImplData(w, GTK3_DIALOG_WIDGET_REAL));
assert(g);
switch(prop) {
case GWEN_DialogProperty_Enabled:
return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
case GWEN_DialogProperty_Focus:
return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
return 0;
case GWEN_DialogProperty_Width:
case GWEN_DialogProperty_Height:
/* just ignore these for now */
return 0;
default:
break;
}
DBG_WARN(GWEN_LOGDOMAIN,
"Function is not appropriate for this type of widget (%s)",
GWEN_Widget_Type_toString(GWEN_Widget_GetType(w)));
return defaultValue;
}
示例9: toplevel_key_press_event_before
static gboolean
toplevel_key_press_event_before (EggSearchBar *self,
GdkEventKey *event,
GtkWindow *toplevel)
{
EggSearchBarPrivate *priv = egg_search_bar_get_instance_private (self);
g_assert (EGG_IS_SEARCH_BAR (self));
g_assert (event != NULL);
g_assert (GTK_IS_WINDOW (toplevel));
switch (event->keyval)
{
case GDK_KEY_Escape:
if (priv->search_mode_enabled && gtk_widget_has_focus (GTK_WIDGET (priv->entry)))
{
egg_search_bar_set_search_mode_enabled (self, FALSE);
return GDK_EVENT_STOP;
}
break;
default:
break;
}
return GDK_EVENT_PROPAGATE;
}
示例10: tile_expose
tile_expose (GtkWidget * widget, GdkEventExpose * event)
#endif
{
/* FIXME: there ought to be a better way to prevent the focus from being rendered. */
gboolean has_focus;
gboolean retval;
if ((has_focus = gtk_widget_has_focus (widget)))
#if GTK_CHECK_VERSION (3, 0, 0)
gtk_widget_unset_state_flags (widget, GTK_STATE_FLAG_FOCUSED);
#else
GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS);
#endif
#if GTK_CHECK_VERSION (3, 0, 0)
retval = (*GTK_WIDGET_CLASS (tile_parent_class)->draw) (widget, cr);
#else
retval = (*GTK_WIDGET_CLASS (tile_parent_class)->expose_event) (widget, event);
#endif
if (has_focus)
#if GTK_CHECK_VERSION (3, 0, 0)
gtk_widget_set_state_flags (widget, GTK_STATE_FLAG_FOCUSED, TRUE);
#else
GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS);
#endif
return retval;
}
示例11: panel_menu_bar_object_on_draw
static gboolean
panel_menu_bar_object_on_draw (GtkWidget *widget,
cairo_t *cr,
gpointer data)
{
PanelMenuBarObject *menubar = data;
if (gtk_widget_has_focus (GTK_WIDGET (menubar))) {
GtkStyleContext *context;
context = gtk_widget_get_style_context (widget);
gtk_style_context_save (context);
gtk_style_context_set_state (context,
gtk_widget_get_state_flags (widget));
cairo_save (cr);
gtk_render_focus (context, cr,
0, 0,
gtk_widget_get_allocated_width (widget),
gtk_widget_get_allocated_height (widget));
cairo_restore (cr);
gtk_style_context_restore (context);
}
return FALSE;
}
示例12: Gtk3Gui_WStack_GetIntProperty
static GWENHYWFAR_CB
int Gtk3Gui_WStack_GetIntProperty(GWEN_WIDGET *w,
GWEN_DIALOG_PROPERTY prop,
int index,
int defaultValue) {
GtkWidget *g;
g=GTK_WIDGET(GWEN_Widget_GetImplData(w, GTK3_DIALOG_WIDGET_REAL));
assert(g);
switch(prop) {
case GWEN_DialogProperty_Enabled:
return (gtk_widget_get_sensitive(GTK_WIDGET(g))==TRUE)?1:0;
case GWEN_DialogProperty_Focus:
return (gtk_widget_has_focus(GTK_WIDGET(g))==TRUE)?1:0;
return 0;
case GWEN_DialogProperty_Value:
return gtk_notebook_get_current_page(GTK_NOTEBOOK(g));
default:
break;
}
DBG_WARN(GWEN_LOGDOMAIN,
"Function is not appropriate for this type of widget (%s)",
GWEN_Widget_Type_toString(GWEN_Widget_GetType(w)));
return defaultValue;
}
示例13: e_composer_paste_text
gboolean
e_composer_paste_text (EMsgComposer *composer,
GtkClipboard *clipboard)
{
EHTMLEditor *editor;
EHTMLEditorView *view;
EHTMLEditorSelection *editor_selection;
gchar *text;
g_return_val_if_fail (E_IS_MSG_COMPOSER (composer), FALSE);
g_return_val_if_fail (GTK_IS_CLIPBOARD (clipboard), FALSE);
if (!(text = gtk_clipboard_wait_for_text (clipboard)))
return FALSE;
editor = e_msg_composer_get_editor (composer);
view = e_html_editor_get_view (editor);
editor_selection = e_html_editor_view_get_selection (view);
/* If WebView doesn't have focus, focus it */
if (!gtk_widget_has_focus (GTK_WIDGET (view)))
gtk_widget_grab_focus (GTK_WIDGET (view));
e_html_editor_selection_insert_text (editor_selection, text);
g_free (text);
return TRUE;
}
示例14: window_menu_on_draw
static gboolean
window_menu_on_draw (GtkWidget *widget,
cairo_t *cr,
gpointer data)
{
GtkStyleContext *context;
GtkStateFlags state;
WindowMenu *window_menu = data;
if (!gtk_widget_has_focus (window_menu->applet))
return FALSE;
state = gtk_widget_get_state_flags (widget);
context = gtk_widget_get_style_context (widget);
gtk_style_context_save (context);
gtk_style_context_set_state (context, state);
cairo_save (cr);
gtk_render_focus (context, cr,
0., 0.,
gtk_widget_get_allocated_width (widget),
gtk_widget_get_allocated_height (widget));
cairo_restore (cr);
gtk_style_context_restore (context);
return FALSE;
}
示例15: applet_cross_cb
/* Applet Callback : Cross (enter or leave) the applet. */
gboolean applet_cross_cb(GtkWidget *widget, GdkEventCrossing *event, StickyNotesApplet *applet)
{
applet->prelighted = event->type == GDK_ENTER_NOTIFY || gtk_widget_has_focus(widget);
stickynotes_applet_update_icon(applet);
return FALSE;
}