本文整理汇总了C++中gtk_widget_has_focus函数的典型用法代码示例。如果您正苦于以下问题:C++ gtk_widget_has_focus函数的具体用法?C++ gtk_widget_has_focus怎么用?C++ gtk_widget_has_focus使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了gtk_widget_has_focus函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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;
}
}
开发者ID:GNOME,项目名称:gthumb,代码行数:35,代码来源:actions.c
示例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;
}
开发者ID:Pulfer,项目名称:qtcurve,代码行数:14,代码来源:combobox.c
示例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;
}
开发者ID:MichaelMure,项目名称:Gimp-Cage-Tool,代码行数:30,代码来源:gimpcontainergridview.c
示例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;
}
开发者ID:MotoHoss,项目名称:mate-panel,代码行数:28,代码来源:window-menu.c
示例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);
}
}
开发者ID:riadnassiffe,项目名称:gnome-builder,代码行数:25,代码来源:gb-search-box.c
示例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;
}
开发者ID:lantw44,项目名称:gsoc2013-evolution,代码行数:31,代码来源:e-mail-shell-view-private.c
示例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 );
}
开发者ID:twolife,项目名称:claws,代码行数:29,代码来源:addr_compl.c
示例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;
}
开发者ID:Mechtilde,项目名称:gnucash,代码行数:32,代码来源:w_lineedit.c
示例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;
}
开发者ID:badwolfie,项目名称:gnome-builder,代码行数:27,代码来源:egg-search-bar.c
示例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;
}
开发者ID:City-busz,项目名称:mate-control-center,代码行数:30,代码来源:tile.c
示例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;
}
开发者ID:SolusOS-discontinued,项目名称:consort-panel,代码行数:27,代码来源:panel-menu-bar-object.c
示例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;
}
开发者ID:Gnucash,项目名称:gnucash,代码行数:30,代码来源:w_stack.c
示例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;
}
开发者ID:Distrotech,项目名称:evolution,代码行数:28,代码来源:e-composer-private.c
示例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;
}
开发者ID:JonahAragon,项目名称:consort-panel,代码行数:28,代码来源:window-menu.c
示例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;
}
开发者ID:alexandervdm,项目名称:mate-applets,代码行数:9,代码来源:stickynotes_applet_callbacks.c
示例16: gva_main_search_entry_notify_cb
/**
* gva_main_search_entry_notify_cb:
* @entry: the search entry
* @pspec: a #GParamSpec
*
* Handler for #GObject::notify signals to the search entry.
*
* Hides the search interface when the search entry loses input focus.
**/
void
gva_main_search_entry_notify_cb (GtkEntry *entry,
GParamSpec *pspec)
{
if (g_str_equal (pspec->name, "has-focus"))
if (!gtk_widget_has_focus (GTK_WIDGET (entry)))
gtk_widget_hide (GVA_WIDGET_MAIN_SEARCH_HBOX);
}
开发者ID:GNOME,项目名称:gnome-video-arcade,代码行数:17,代码来源:gva-main.c
示例17: nsgtk_widget_has_focus
gboolean nsgtk_widget_has_focus(GtkWidget *widget)
{
#if GTK_CHECK_VERSION(2,20,0)
return gtk_widget_has_focus(widget);
#else
return GTK_WIDGET_HAS_FOCUS(widget);
#endif
}
开发者ID:pcwalton,项目名称:NetSurf,代码行数:8,代码来源:compat.c
示例18: window_menu_on_expose
static gboolean window_menu_on_expose(GtkWidget* widget, GdkEventExpose* event, gpointer data)
{
WindowMenu* window_menu = data;
if (gtk_widget_has_focus(window_menu->applet))
gtk_paint_focus(gtk_widget_get_style(widget), gtk_widget_get_window(widget), gtk_widget_get_state(widget), NULL, widget, "menu-applet", 0, 0, -1, -1);
return FALSE;
}
开发者ID:oz123,项目名称:mate-panel,代码行数:9,代码来源:window-menu.c
示例19: update_mouse_cursor
static void
update_mouse_cursor (GtkTextView *text_view,
gint x,
gint y)
{
static GdkCursor *hand_cursor = NULL;
static GdkCursor *regular_cursor = NULL;
gboolean hovering = FALSE, hovering_over_link = FALSE, hovering_real;
guint32 state;
GtkTextBuffer *buffer = gtk_text_view_get_buffer (text_view);
GtkTextTagTable *tag_table;
GtkTextTag *tag;
GtkTextIter iter;
if (!hand_cursor) {
hand_cursor = gdk_cursor_new (GDK_HAND2);
regular_cursor = gdk_cursor_new (GDK_XTERM);
}
g_return_if_fail (buffer != NULL);
tag_table = gtk_text_buffer_get_tag_table (buffer);
tag = gtk_text_tag_table_lookup (tag_table, E_BUFFER_TAGGER_LINK_TAG);
g_return_if_fail (tag != NULL);
state = get_state (buffer);
gtk_text_view_get_iter_at_location (text_view, &iter, x, y);
hovering_real = gtk_text_iter_has_tag (&iter, tag);
hovering_over_link = (state & E_BUFFER_TAGGER_STATE_IS_HOVERING) != 0;
if ((state & E_BUFFER_TAGGER_STATE_CTRL_DOWN) == 0) {
hovering = FALSE;
} else {
hovering = hovering_real;
}
if (hovering != hovering_over_link) {
update_state (buffer, E_BUFFER_TAGGER_STATE_IS_HOVERING, hovering);
if (hovering && gtk_widget_has_focus (GTK_WIDGET (text_view)))
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), hand_cursor);
else
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), regular_cursor);
/* XXX Is this necessary? Appears to be a no-op. */
get_pointer_position (text_view, NULL, NULL);
}
hovering_over_link = (state & E_BUFFER_TAGGER_STATE_IS_HOVERING_TOOLTIP) != 0;
if (hovering_real != hovering_over_link) {
update_state (buffer, E_BUFFER_TAGGER_STATE_IS_HOVERING_TOOLTIP, hovering_real);
gtk_widget_trigger_tooltip_query (GTK_WIDGET (text_view));
}
}
开发者ID:UIKit0,项目名称:evolution,代码行数:57,代码来源:e-buffer-tagger.c
示例20: raise_and_focus_dialog
void raise_and_focus_dialog (GtkEditable *entry,
GtkWidget *parent)
{
gtk_window_present(GTK_WINDOW(parent));
if (!gtk_widget_has_focus(GTK_WIDGET(entry))) {
gtk_widget_grab_focus(GTK_WIDGET(entry));
}
}
开发者ID:HelioGuilherme66,项目名称:gretl,代码行数:9,代码来源:dlgutils.c
注:本文中的gtk_widget_has_focus函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论