static DBusMessage *
impl_setTextContents (DBusConnection * bus, DBusMessage * message,
                      void *user_data)
{
  AtkEditableText *editable = (AtkEditableText *) user_data;
  const char *newContents;
  dbus_bool_t rv;
  DBusError error;
  DBusMessage *reply;

  g_return_val_if_fail (ATK_IS_EDITABLE_TEXT (user_data),
                        droute_not_yet_handled_error (message));
  dbus_error_init (&error);
  if (!dbus_message_get_args
      (message, &error, DBUS_TYPE_STRING, &newContents, DBUS_TYPE_INVALID))
    {
      return droute_invalid_arguments_error (message);
    }
  atk_editable_text_set_text_contents (editable, newContents);
  rv = TRUE;
  // TODO decide if we really need this return value
  reply = dbus_message_new_method_return (message);
  if (reply)
    {
      dbus_message_append_args (reply, DBUS_TYPE_BOOLEAN, &rv,
                                DBUS_TYPE_INVALID);
    }
  return reply;
}
static gboolean
set_text_press_cb (ClutterActor *actor,
                   ClutterButtonEvent *event,
                   gpointer data)
{
  AtkObject       *object              = NULL;
  AtkEditableText *cally_editable_text = NULL;

  object = atk_gobject_accessible_for_object (G_OBJECT (text_editable_actor));
  cally_editable_text = ATK_EDITABLE_TEXT (object);

  atk_editable_text_set_text_contents (cally_editable_text, "New text");

  return TRUE;
}
Esempio n. 3
0
static void _set_values (AtkObject *obj) {

  GValue *value_back, val;
  static gint count = 0;
  gdouble double_value;

  value_back = &val;

  if(ATK_IS_VALUE(obj)) {
	/* Spin button also inherits the text interfaces from GailEntry. 
	 * Check when spin button recieves focus.
     */

	if(ATK_IS_TEXT(obj) && ATK_IS_EDITABLE_TEXT(obj)) {
		if(count == 0) {	
			gint x;
			gchar* text;
			count++;
			x = atk_text_get_character_count (ATK_TEXT (obj));
  			text = atk_text_get_text (ATK_TEXT (obj), 0, x);
			g_print("Text : %s\n", text);
			text = "5.7";
			atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(obj),text);
			g_print("Set text to %s\n",text);
			atk_value_get_current_value(ATK_VALUE(obj), value_back);
			g_return_if_fail (G_VALUE_HOLDS_DOUBLE (value_back));
			g_print("atk_value_get_current_value returns %f\n", 
				g_value_get_double( value_back));
			} 
	} else {
		memset (value_back, 0, sizeof (GValue));
		g_value_init (value_back, G_TYPE_DOUBLE);
		g_value_set_double (value_back, 10.0);	
		if (atk_value_set_current_value (ATK_VALUE (obj), value_back))
		{
 			double_value = g_value_get_double (value_back);
  			g_print("atk_value_set_current_value returns %f\n", 
			double_value);
		}
	}
  }
}
/*
 * Test AtkText interface
 */
static void
test_atk_text (ClutterActor *actor)
{
  AtkObject       *object              = NULL;
  AtkEditableText *cally_editable_text = NULL;
  gint             pos                 = 0;

  object = atk_gobject_accessible_for_object (G_OBJECT (actor));
  cally_editable_text = ATK_EDITABLE_TEXT (object);

  if (cally_editable_text != NULL) {
    atk_editable_text_set_text_contents (cally_editable_text, "New text");
    atk_editable_text_delete_text (cally_editable_text, 0, 3);
    pos = 3;
    atk_editable_text_insert_text (cally_editable_text, "New", 0, &pos);

    /* Not implemented in cally, just checking that we can call this
       functions */
    atk_editable_text_copy_text (cally_editable_text, 0, -1);
    atk_editable_text_paste_text (cally_editable_text, 5);
    atk_editable_text_cut_text (cally_editable_text, 0, -1);
  }
}
Esempio n. 5
0
static void
_do_test(AtkObject *obj)
{
   gchar *text;
   int start_offset, end_offset;

   g_assert(ATK_IS_EDITABLE_TEXT(obj));

   text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
   if (!g_strcmp0(text, ENTRY_FIRST))
     {
        g_free(text);

        text = g_strdup(ENTRY_TEXT);
        atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(obj), text);
        g_free(text);

        start_offset = 0;
        end_offset = -1;
        text = atk_text_get_text(ATK_TEXT(obj), start_offset, end_offset);
        g_assert_cmpstr(text, ==, ENTRY_TEXT);
        g_free(text);

        start_offset = 0;
        end_offset = 7;
        atk_editable_text_delete_text(ATK_EDITABLE_TEXT(obj), start_offset, end_offset);
        text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
        g_assert_cmpstr(text, ==, " lololololo olololo");
        g_free(text);

        atk_editable_text_insert_text(ATK_EDITABLE_TEXT(obj), "Trololo", 7,
                                      &start_offset);
        text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
        g_assert(start_offset == 7);
        g_assert_cmpstr(text, ==, ENTRY_TEXT);
        g_free(text);

        start_offset = 8;
        end_offset = 18;
        atk_editable_text_copy_text(ATK_EDITABLE_TEXT(obj), start_offset, end_offset);
        atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(obj), "123");
        atk_editable_text_paste_text(ATK_EDITABLE_TEXT(obj), 3);

        start_offset = 0;
        end_offset = -1;
        text = atk_text_get_text(ATK_TEXT(obj), start_offset, end_offset);
        g_assert_cmpstr(text, ==, "123lololololo");
        g_free(text);

        start_offset = 0;
        end_offset = 3;
        atk_editable_text_cut_text(ATK_EDITABLE_TEXT(obj), start_offset, end_offset);
        text = atk_text_get_text(ATK_TEXT(obj), start_offset, end_offset);
        g_assert_cmpstr(text, ==, "lol");
        g_free(text);

        start_offset = 0;
        end_offset = -1;
        atk_editable_text_paste_text(ATK_EDITABLE_TEXT(obj), 3);
        text = atk_text_get_text(ATK_TEXT(obj), start_offset, end_offset);
        g_assert_cmpstr(text, ==, "lol123olololo");
        g_free(text);

        atk_editable_text_cut_text(ATK_EDITABLE_TEXT(obj), 3, 6);
        text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
        g_assert_cmpstr(text, ==, "lololololo");
        g_free(text);
     }