Esempio n. 1
0
static void
gail_toggle_button_real_notify_gtk (GObject           *obj,
                                    GParamSpec        *pspec)
{
  GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (obj);
  AtkObject *atk_obj;

  atk_obj = gtk_widget_get_accessible (GTK_WIDGET (toggle_button));

  if (strcmp (pspec->name, "inconsistent") == 0)
    atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED,
                       (gtk_widget_get_sensitive (GTK_WIDGET (toggle_button)) &&
                        !gtk_toggle_button_get_inconsistent (toggle_button)));
  else if (strcmp (pspec->name, "sensitive") == 0)
    {
      /* Need to override gailwidget behavior of notifying for ENABLED */
      gboolean sensitive;
      gboolean enabled;
      sensitive = gtk_widget_get_sensitive (GTK_WIDGET (toggle_button));
      enabled = sensitive &&
                !gtk_toggle_button_get_inconsistent (toggle_button);
    atk_object_notify_state_change (atk_obj, ATK_STATE_SENSITIVE, sensitive);
    atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, enabled);
    }
  else
    GAIL_WIDGET_CLASS (gail_toggle_button_parent_class)->notify_gtk (obj, pspec);
}
Esempio n. 2
0
int checkTable(struct lesson less[LESSONS_PER_DIR])
{
    GtkWidget *dialog;
    float temp;
    int k, j, sum = 0;

    if (gtk_widget_get_sensitive (lessons[23].entry) == gtk_widget_get_sensitive (lessons[24].entry) ) {
        dialog = gtk_message_dialog_new (GTK_WINDOW(main_window), 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Ελέγξτε ξανά τα μαθήματα επιλογής του 4ου εξαμήνου.");
        gtk_dialog_run(GTK_DIALOG(dialog));
        gtk_widget_destroy (dialog);
        return 1;
    }
    if (gtk_widget_get_sensitive (lessons[29].entry) == gtk_widget_get_sensitive (lessons[30].entry) ) {
        dialog = gtk_message_dialog_new (GTK_WINDOW(main_window), 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Ελέγξτε ξανά τα μαθήματα επιλογής του 5ου εξαμήνου.");
        gtk_dialog_run(GTK_DIALOG(dialog));
        gtk_widget_destroy (dialog);
        return 1;
    }

    for (sum=0, j=34; j<=39; j++)
        if (gtk_widget_get_sensitive(lessons[j].entry) == TRUE)
            sum++;

    if (sum != 4 || gtk_widget_get_sensitive (lessons[32].entry) == gtk_widget_get_sensitive (lessons[33].entry)) {
        dialog = gtk_message_dialog_new (GTK_WINDOW(main_window), 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Ελέγξτε ξανά τα μαθήματα επιλογής του 6ου εξαμήνου.");
        gtk_dialog_run(GTK_DIALOG(dialog));
        gtk_widget_destroy (dialog);
        return 1;
    }

    for (sum=0, j=43; j<=48; j++)
        if (gtk_widget_get_sensitive (lessons[j].entry) == TRUE)
            sum++;

    if (sum != 3 || gtk_widget_get_sensitive(lessons[40].entry) == gtk_widget_get_sensitive (lessons[41].entry)) {
        dialog = gtk_message_dialog_new (GTK_WINDOW(main_window), 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Ελέγξτε ξανά τα μαθήματα επιλογής του 7ου εξαμήνου.");
        gtk_dialog_run(GTK_DIALOG(dialog));
        gtk_widget_destroy (dialog);
        return 1;
    }

    for (k=0; k<LESSONS_TO_END; k++) {
        temp = strtof(gtk_entry_get_text(GTK_ENTRY(less[k].entry)), NULL);
        if (temp < 5 || temp > 10) {
            dialog = gtk_message_dialog_new (GTK_WINDOW(main_window), 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Λάθος εισαγωγή στο μάθημα %s.", gtk_label_get_text(GTK_LABEL(less[k].title)));
            gtk_dialog_run(GTK_DIALOG(dialog));
            gtk_widget_destroy (dialog);
            return 1;
        }
    }
    return 0;
}
Esempio n. 3
0
static gboolean
idle_do_action (gpointer data)
{
  GtkComboBox *combo_box;
  GtkWidget *widget;
  GailComboBox *gail_combo_box;
  AtkObject *popup;
  gboolean do_popup;

  gail_combo_box = GAIL_COMBO_BOX (data);
  gail_combo_box->action_idle_handler = 0;
  widget = GTK_ACCESSIBLE (gail_combo_box)->widget;
  if (widget == NULL || /* State is defunct */
      !gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
    return FALSE;

  combo_box = GTK_COMBO_BOX (widget);

  popup = gtk_combo_box_get_popup_accessible (combo_box);
  do_popup = !gtk_widget_get_mapped (GTK_ACCESSIBLE (popup)->widget);
  if (do_popup)
      gtk_combo_box_popup (combo_box);
  else
      gtk_combo_box_popdown (combo_box);

  return FALSE;
}
Esempio n. 4
0
static void
gb_color_picker_prefs_palette_row_activate (GbColorPickerPrefsPaletteRow *self)
{
  g_autoptr (GVariant) value = NULL;

  g_assert (GB_IS_COLOR_PICKER_PREFS_PALETTE_ROW (self));
  g_assert (self->target != NULL);

  if (!gtk_widget_get_sensitive (GTK_WIDGET (self)) || self->settings == NULL || self->updating)
    return;

  value = g_settings_get_value (self->settings, self->key);
  if (g_variant_is_of_type (value, g_variant_get_type (self->target)))
    {
      if (!g_variant_equal (value, self->target))
        {
          self->updating = TRUE;
          g_settings_set_value (self->settings, self->key, self->target);
          gtk_widget_set_visible (GTK_WIDGET (self->image), TRUE);
          self->updating = FALSE;
        }
    }
  else
    g_warning ("Value and target must be of the same type");
}
Esempio n. 5
0
static gboolean ug_grid_one_draw (GtkWidget* widget, cairo_t* cr, const gdouble* rgb_array)
{
	GtkAllocation  allocation;
	gdouble        x, y, width, height;

	gtk_widget_get_allocation (widget, &allocation);
	x = 0.5;
	y = 0.5;
	width  = (gdouble) (allocation.width - 1);
	height = (gdouble) (allocation.height - 1);
	cairo_set_line_width (cr, 1);
	cairo_rectangle (cr, x, y, width, height);
	cairo_stroke (cr);
	if (gtk_widget_get_sensitive (widget)) {
		cairo_set_source_rgb (cr,
				rgb_array [0],
				rgb_array [1],
				rgb_array [2]);
	}
	else {
		cairo_set_source_rgb (cr,
				COLOR_DISABLE_R,
				COLOR_DISABLE_G,
				COLOR_DISABLE_B);
	}
	cairo_rectangle (cr, x + 1.0, y + 1.0, width - 2.0, height - 2.0);
	cairo_fill (cr);

	return FALSE;
}
Esempio n. 6
0
static gboolean
gtk_combo_box_accessible_do_action (AtkAction *action,
                                    gint       i)
{
    GtkComboBox *combo_box;
    GtkWidget *widget;
    gboolean popup_shown;

    widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
    if (widget == NULL)
        return FALSE;

    if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
        return FALSE;

    if (i != 0)
        return FALSE;

    combo_box = GTK_COMBO_BOX (widget);
    g_object_get (combo_box, "popup-shown", &popup_shown, NULL);
    if (popup_shown)
        gtk_combo_box_popdown (combo_box);
    else
        gtk_combo_box_popup (combo_box);

    return TRUE;
}
Esempio n. 7
0
/**
 * gtk_tool_item_set_proxy_menu_item:
 * @tool_item: a #GtkToolItem
 * @menu_item_id: a string used to identify @menu_item
 * @menu_item: a #GtkMenuItem to be used in the overflow menu
 *
 * Sets the #GtkMenuItem used in the toolbar overflow menu. The
 * @menu_item_id is used to identify the caller of this function and
 * should also be used with gtk_tool_item_get_proxy_menu_item().
 *
 * Since: 2.4
 **/
void
gtk_tool_item_set_proxy_menu_item (GtkToolItem *tool_item,
                                   const gchar *menu_item_id,
                                   GtkWidget   *menu_item)
{
    g_return_if_fail (GTK_IS_TOOL_ITEM (tool_item));
    g_return_if_fail (menu_item == NULL || GTK_IS_MENU_ITEM (menu_item));
    g_return_if_fail (menu_item_id != NULL);

    g_free (tool_item->priv->menu_item_id);

    tool_item->priv->menu_item_id = g_strdup (menu_item_id);

    if (tool_item->priv->menu_item != menu_item)
    {
        if (tool_item->priv->menu_item)
            g_object_unref (tool_item->priv->menu_item);

        if (menu_item)
        {
            g_object_ref_sink (menu_item);

            gtk_widget_set_sensitive (menu_item,
                                      gtk_widget_get_sensitive (GTK_WIDGET (tool_item)));
        }

        tool_item->priv->menu_item = menu_item;
    }
}
Esempio n. 8
0
/*
 * Class:     org_java_gtk_gtk_Widget
 * Method:    gtk_widget_get_sensitive
 * Signature: (J)Z
 */
JNIEXPORT jboolean JNICALL Java_org_java_1gtk_gtk_Widget_gtk_1widget_1get_1sensitive
  (JNIEnv *env, jclass cls, jlong widget)
{
	gboolean sensitive;
	sensitive = gtk_widget_get_sensitive((GtkWidget*)widget);
	return (jboolean)sensitive;
}
Esempio n. 9
0
static gboolean
gtk_menu_item_accessible_do_action (AtkAction *action,
                                    gint       i)
{
  GtkWidget *item, *item_parent;
  gboolean item_mapped;

  item = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));
  if (item == NULL)
    return FALSE;

  if (i != 0)
    return FALSE;

  if (!gtk_widget_get_sensitive (item) || !gtk_widget_get_visible (item))
    return FALSE;

  item_parent = gtk_widget_get_parent (item);
  if (!GTK_IS_MENU_SHELL (item_parent))
    return FALSE;

  gtk_menu_shell_select_item (GTK_MENU_SHELL (item_parent), item);
  item_mapped = gtk_widget_get_mapped (item);

  /* This is what is called when <Return> is pressed for a menu item.
   * The last argument means 'force hide'.
   */
  g_signal_emit_by_name (item_parent, "activate-current", 1);
  if (!item_mapped)
    ensure_menus_unposted (GTK_MENU_ITEM_ACCESSIBLE (action));

  return TRUE;
}
static void
gtk_toggle_button_accessible_notify_gtk (GObject    *obj,
                                         GParamSpec *pspec)
{
  GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (obj);
  AtkObject *atk_obj;
  gboolean sensitive;
  gboolean inconsistent;

  atk_obj = gtk_widget_get_accessible (GTK_WIDGET (toggle_button));
  sensitive = gtk_widget_get_sensitive (GTK_WIDGET (toggle_button));
  inconsistent = gtk_toggle_button_get_inconsistent (toggle_button);

  if (strcmp (pspec->name, "inconsistent") == 0)
    {
      atk_object_notify_state_change (atk_obj, ATK_STATE_INDETERMINATE, inconsistent);
      atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
    }
  else if (strcmp (pspec->name, "sensitive") == 0)
    {
      /* Need to override gailwidget behavior of notifying for ENABLED */
      atk_object_notify_state_change (atk_obj, ATK_STATE_SENSITIVE, sensitive);
      atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
    }
  else
    GTK_WIDGET_ACCESSIBLE_CLASS (gtk_toggle_button_accessible_parent_class)->notify_gtk (obj, pspec);
}
Esempio n. 11
0
static void
gtk_check_menu_item_accessible_notify_gtk (GObject    *obj,
                                           GParamSpec *pspec)
{
  GtkCheckMenuItem *check_menu_item = GTK_CHECK_MENU_ITEM (obj);
  AtkObject *atk_obj;
  gboolean sensitive;
  gboolean inconsistent;
  gboolean active;

  atk_obj = gtk_widget_get_accessible (GTK_WIDGET (check_menu_item));
  sensitive = gtk_widget_get_sensitive (GTK_WIDGET (check_menu_item));
  inconsistent = gtk_check_menu_item_get_inconsistent (check_menu_item);
  active = gtk_check_menu_item_get_active (check_menu_item);

  if (strcmp (pspec->name, "inconsistent") == 0)
    {
      atk_object_notify_state_change (atk_obj, ATK_STATE_INDETERMINATE, inconsistent);
      atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
    }
  else if (strcmp (pspec->name, "sensitive") == 0)
    {
      /* Need to override gailwidget behavior of notifying for ENABLED */
      atk_object_notify_state_change (atk_obj, ATK_STATE_SENSITIVE, sensitive);
      atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, (sensitive && !inconsistent));
    }
  else if (strcmp (pspec->name, "active") == 0)
    {
      atk_object_notify_state_change (atk_obj, ATK_STATE_CHECKED, active);
    }
  else
    GTK_WIDGET_ACCESSIBLE_CLASS (gtk_check_menu_item_accessible_parent_class)->notify_gtk (obj, pspec);
}
Esempio n. 12
0
static gboolean
gdm_extension_list_set_active_extension (GdmExtensionList    *widget,
                                         GdmLoginExtension *extension)
{
        GtkWidget *button;
        gboolean   was_sensitive;
        gboolean   was_activated;

        if (!gdm_login_extension_is_visible (extension)) {
                return FALSE;
        }

        was_sensitive = gtk_widget_get_sensitive (GTK_WIDGET (widget));
        gtk_widget_set_sensitive (GTK_WIDGET (widget), TRUE);

        button = GTK_WIDGET (g_object_get_data (G_OBJECT (extension),
                             "gdm-extension-list-button"));

        was_activated = FALSE;
        if (gtk_widget_is_sensitive (button)) {
                if (gtk_widget_activate (button)) {
                        was_activated = TRUE;
                }
        }

        gtk_widget_set_sensitive (GTK_WIDGET (widget), was_sensitive);
        return was_activated;
}
Esempio n. 13
0
G_MODULE_EXPORT
void on_menu_new_activate(GtkWidget *widget, void* user)
{
  if (!gtk_widget_get_sensitive(GTK_WIDGET(gui->rightpane)))
    gui_set_hastabs_sensitive(TRUE);
  tabmanager_create_tab(A_NONE, NULL, NULL);
}
Esempio n. 14
0
static int
airpcap_get_selected_channel_offset(GtkWidget *channel_offset_cb) {
    int offset;
    gchar *off_str;
    int retval = 0;


    if (channel_offset_cb == NULL || !gtk_widget_get_sensitive(channel_offset_cb)) {
        return 0;
    }

    off_str = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(channel_offset_cb));
    if (off_str && (g_ascii_strcasecmp("", off_str)))
    {
        if (airpcap_if_selected != NULL)
        {
            sscanf(off_str, "%d", &offset);
            if (offset >= -1 && offset <= 1) {
                retval = offset;
            }
        }
    }
    g_free(off_str);
    return retval;
}
Esempio n. 15
0
static gboolean
do_action (AtkAction *action,
           gint i)
{
	GtkWidget *widget;
	gboolean return_value = TRUE;

	widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (action));

	if (widget == NULL) {
	/*
	* State is defunct
	*/
	return FALSE;
	}

	if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
		return FALSE;

	switch (i) {
	case 0:
		gtk_widget_grab_focus (widget);
	default:
		return_value = FALSE;
		break;
	}
	return return_value;
}
Esempio n. 16
0
gchar *widget_timer_envvar_construct(GtkWidget *widget)
{
	gchar            *string;

#ifdef DEBUG_TRANSITS
	fprintf(stderr, "%s(): Entering.\n", __func__);
#endif

#if GTK_CHECK_VERSION(2,18,0)
	if (gtk_widget_get_sensitive(widget))
#else
	if (GTK_WIDGET_SENSITIVE(widget))
#endif
	{
		string = g_strdup("true");
	} else {
		string = g_strdup("false");
	}

#ifdef DEBUG_TRANSITS
	fprintf(stderr, "%s(): Exiting.\n", __func__);
#endif

	return string;
}
Esempio n. 17
0
static void cache_manager_render_start_cb(GenericDialog *fd, gpointer data)
{
	CleanData *cd = data;
	gchar *path;

	if (cd->list || !gtk_widget_get_sensitive(cd->button_start)) return;

	path = remove_trailing_slash((gtk_entry_get_text(GTK_ENTRY(cd->entry))));
	parse_out_relatives(path);

	if (!isdir(path))
		{
		warning_dialog(_("Invalid folder"),
				_("The specified folder can not be found."),
			       GTK_STOCK_DIALOG_WARNING, cd->gd->dialog);
		}
	else
		{
		FileData *dir_fd;
		gtk_widget_set_sensitive(cd->group, FALSE);
		gtk_widget_set_sensitive(cd->button_start, FALSE);
		gtk_widget_set_sensitive(cd->button_stop, TRUE);
		gtk_widget_set_sensitive(cd->button_close, FALSE);

		spinner_set_interval(cd->spinner, SPINNER_SPEED);

		dir_fd = file_data_new_dir(path);
		cache_manager_render_folder(cd, dir_fd);
		file_data_unref(dir_fd);
		while (cache_manager_render_file(cd));
		}

	g_free(path);
}
Esempio n. 18
0
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;
}
Esempio n. 19
0
static gboolean
gail_combo_do_action (AtkAction *action,
                       gint      i)
{
  GailCombo *combo;
  GtkWidget *widget;

  widget = GTK_ACCESSIBLE (action)->widget;
  if (widget == NULL)
    /*
     * State is defunct
     */
    return FALSE;

  if (!gtk_widget_get_sensitive (widget) || !gtk_widget_get_visible (widget))
    return FALSE;

  combo = GAIL_COMBO (action);
  if (i == 0)
    {
      if (combo->action_idle_handler)
        return FALSE;

      combo->action_idle_handler = gdk_threads_add_idle (idle_do_action, combo);
      return TRUE;
    }
  else
    return FALSE;
}
static void on_button_layout_changed (GtkEditable *entry, WBPlugin *wb)
{
    if (gtk_widget_get_sensitive (GTK_WIDGET(entry)))
    {
        const gchar *button_layout = gtk_entry_get_text (GTK_ENTRY(entry));
        wb->prefs->button_layout = button_layout_filter (button_layout, wb->prefs->button_layout);

        if (wb->prefs->sync_wm_theme)
        {
            gchar *part;
            const gchar *layout;

            const gchar *wm_button_layout = xfconf_channel_get_string(wb->wm_channel, "/general/button_layout", "O|HMC");

            /* get opposite part of the layout and concatenate it */
            part = opposite_layout_filter (wm_button_layout);
            if (wm_button_layout[0] == part[0])
                layout = g_strconcat (part, wb->prefs->button_layout, NULL);
            else
                layout = g_strconcat (wb->prefs->button_layout, part, NULL);

            xfconf_channel_set_string (wb->wm_channel, "/general/button_layout", layout);
            g_free (part);
        }
        else
        {
            replace_buttons (wb->prefs->button_layout, wb);
            on_wck_state_changed (wb->win->controlwindow, wb);
        }
    }
}
Esempio n. 21
0
static void on_button_hash_clicked(void)
{
	if (gui_get_view() == GUI_VIEW_FILE) {
		// XXX: Workaround for when user clicks Cancel in FileChooserDialog and
		// XXX: uri is changed without emitting the "selection-changed" signal
		on_filechooserbutton_selection_changed();
		if (!gtk_widget_get_sensitive(GTK_WIDGET(gui.button_hash)))
			return;
	}

	switch (gui_get_view()) {
		case GUI_VIEW_FILE: {
			gui_clear_digests();
			gui_set_state(GUI_STATE_BUSY);
			char *uri = gtk_file_chooser_get_uri(GTK_FILE_CHOOSER(
				gui.filechooserbutton));
			hash_file_start(uri);
			break;
		}
		case GUI_VIEW_TEXT:
			hash_string();
			break;
		case GUI_VIEW_FILE_LIST:
			gui_clear_digests();
			gui_set_state(GUI_STATE_BUSY);
			hash_file_list_start();
			break;
		default:
			g_assert_not_reached();
	}
}
Esempio n. 22
0
void calculate()
{
    GtkWidget *dialog = gtk_dialog_new();
    float mo=0, temp;
    int k = 0, j = 0;
    struct lesson less[LESSONS_PER_DIR];

    while ( j < LESSONS_PER_DIR) {
        if (gtk_widget_get_sensitive(lessons[j].entry) == TRUE) {
            less[k].title = lessons[j].title;
            less[k].DM = lessons[j].DM;
            less[k].checkbtn = lessons[j].checkbtn;
            less[k].entry = lessons[j].entry;
            k++;
        }
        j++;
    }

    if (i != LESSONS_TO_END) {
        dialog = gtk_message_dialog_new (GTK_WINDOW(main_window), 0,  GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Λάθος αριθμός μαθημάτων. Ελέγξτε ξανά το πλήθος των μαθημάτων επιλογής.");
        gtk_dialog_run(GTK_DIALOG(dialog));
    } else {
        if (checkTable(less) == 0) {
            for (k=0; k<i; k++) {
                temp = atof(gtk_entry_get_text(GTK_ENTRY(less[k].entry)));
                mo += (float) less[k].DM * temp / 230; /* sinolo didaktikwn monadwn : 230 */
            }
            dialog = gtk_message_dialog_new (GTK_WINDOW(main_window), 0,  GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "Ο βαθμός του πτυχίου σου είναι %2.2f", mo);
            gtk_dialog_run(GTK_DIALOG(dialog));
        }
    }
    gtk_widget_destroy (dialog);
}
Esempio n. 23
0
/* If the drone is landed, only start is clickable,
   if the drone is in the air, only stop is clickable
*/
static void toggleButtonsState(void)
{
  gboolean start_state = gtk_widget_get_sensitive(gui->start);
 
  gtk_widget_set_sensitive(gui->start, !start_state);
  gtk_widget_set_sensitive(gui->stop, start_state);
}
Esempio n. 24
0
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;
}
Esempio n. 25
0
static gboolean
idle_do_action (gpointer data)
{
  GtkWidget *item;
  GtkWidget *item_parent;
  GailMenuItem *menu_item;
  gboolean item_mapped;

  menu_item = GAIL_MENU_ITEM (data);
  menu_item->action_idle_handler = 0;
  item = GTK_ACCESSIBLE (menu_item)->widget;
  if (item == NULL /* State is defunct */ ||
      !gtk_widget_get_sensitive (item) || !gtk_widget_get_visible (item))
    return FALSE;

  item_parent = gtk_widget_get_parent (item);
  gtk_menu_shell_select_item (GTK_MENU_SHELL (item_parent), item);
  item_mapped = gtk_widget_get_mapped (item);
  /*
   * This is what is called when <Return> is pressed for a menu item
   */
  g_signal_emit_by_name (item_parent, "activate_current",  
                         /*force_hide*/ 1); 
  if (!item_mapped)
    ensure_menus_unposted (menu_item);

  return FALSE;
}
Esempio n. 26
0
static gboolean
gail_menu_item_do_action (AtkAction *action,
                          gint      i)
{
  if (i == 0)
    {
      GtkWidget *item;
      GailMenuItem *gail_menu_item;

      item = GTK_ACCESSIBLE (action)->widget;
      if (item == NULL)
        /* State is defunct */
        return FALSE;

      if (!gtk_widget_get_sensitive (item) || !gtk_widget_get_visible (item))
        return FALSE;

      gail_menu_item = GAIL_MENU_ITEM (action);
      if (gail_menu_item->action_idle_handler)
        return FALSE;
      else
	{
	  gail_menu_item->action_idle_handler =
            gdk_threads_add_idle_full (G_PRIORITY_DEFAULT_IDLE,
                                       idle_do_action,
                                       g_object_ref (gail_menu_item),
                                       (GDestroyNotify) g_object_unref);
	}
      return TRUE;
    }
  else
    return FALSE;
}
Esempio n. 27
0
static void cache_maintain_home_close_cb(GenericDialog *gd, gpointer data)
{
	CMData *cm = data;

	if (!gtk_widget_get_sensitive(cm->button_close)) return;

	cache_maintain_home_close(cm);
}
Esempio n. 28
0
bool wxMenuBar::IsEnabledTop(size_t pos) const
{
    wxMenuList::compatibility_iterator node = m_menus.Item( pos );
    wxCHECK_MSG( node, false, wxS("invalid index in IsEnabledTop") );
    wxMenu* const menu = node->GetData();
    wxCHECK_MSG( menu->m_owner, true, wxS("no menu owner?") );
    return gtk_widget_get_sensitive( menu->m_owner );
}
Esempio n. 29
0
 virtual bool get_sensitive(gboolean& is_true) const {
     widget_attached_t detached = 0;
     if ((detached = this->attached_to())) {
         is_true = gtk_widget_get_sensitive(detached);
         return true;
     }
     return false;
 }
Esempio n. 30
0
gboolean PluginManageDlg::on_treeview_button_press(GtkWidget * widget, GdkEventButton * event, PluginManageDlg *oPluginManageDlg)
{
	if (event->type==GDK_2BUTTON_PRESS) {
		if (gtk_widget_get_sensitive(GTK_WIDGET(oPluginManageDlg->pref_button)))
			gtk_dialog_response(GTK_DIALOG(oPluginManageDlg->window), STARDICT_RESPONSE_CONFIGURE);
		return true;
	} else {
		return false;
	}
}