atk 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +225 -0
- data/README +30 -0
- data/Rakefile +67 -0
- data/extconf.rb +59 -0
- data/src/lib/atk.rb +2 -0
- data/src/makeinits.rb +39 -0
- data/src/rbatk.c +27 -0
- data/src/rbatk.h +36 -0
- data/src/rbatkaction.c +81 -0
- data/src/rbatkcomponent.c +184 -0
- data/src/rbatkdocument.c +95 -0
- data/src/rbatkeditabletext.c +102 -0
- data/src/rbatkgobjectaccessible.c +37 -0
- data/src/rbatkhyperlink.c +92 -0
- data/src/rbatkhypertext.c +44 -0
- data/src/rbatkimage.c +62 -0
- data/src/rbatkimplementor.c +27 -0
- data/src/rbatkinits.c +55 -0
- data/src/rbatknoopobject.c +30 -0
- data/src/rbatknoopobjectfactory.c +30 -0
- data/src/rbatkobject.c +178 -0
- data/src/rbatkobjectfactory.c +44 -0
- data/src/rbatkregistry.c +55 -0
- data/src/rbatkrelation.c +104 -0
- data/src/rbatkrelationset.c +94 -0
- data/src/rbatkselection.c +82 -0
- data/src/rbatkstate.c +41 -0
- data/src/rbatkstateset.c +143 -0
- data/src/rbatkstreamablecontent.c +50 -0
- data/src/rbatktable.c +292 -0
- data/src/rbatktext.c +364 -0
- data/src/rbatktextrange.c +91 -0
- data/src/rbatktextrectangle.c +156 -0
- data/src/rbatkutil.c +125 -0
- data/src/rbatkvalue.c +74 -0
- data/src/rbatkversion.h +24 -0
- metadata +125 -0
| @@ -0,0 +1,37 @@ | |
| 1 | 
            +
            /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
         | 
| 2 | 
            +
            /************************************************
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              rbatkgobjectaccessible.c -
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              $Author: mutoh $
         | 
| 7 | 
            +
              $Date: 2003/12/07 17:18:16 $
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              Copyright (C) 2003 Masao Mutoh
         | 
| 10 | 
            +
            ************************************************/
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            #include "rbatk.h"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            #define _SELF(s) (ATK_GOBJECT_ACCESSIBLE(RVAL2GOBJ(s)))
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            static VALUE
         | 
| 17 | 
            +
            rbatk_gobjectaccessible_s_for_object(self, obj)
         | 
| 18 | 
            +
                VALUE self, obj;
         | 
| 19 | 
            +
            {
         | 
| 20 | 
            +
                return GOBJ2RVAL(atk_gobject_accessible_for_object(RVAL2GOBJ(obj)));
         | 
| 21 | 
            +
            }
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            static VALUE
         | 
| 24 | 
            +
            rbatk_gobjectaccessible_get_object(self)
         | 
| 25 | 
            +
                VALUE self;
         | 
| 26 | 
            +
            {
         | 
| 27 | 
            +
                return GOBJ2RVAL(atk_gobject_accessible_get_object(_SELF(self)));
         | 
| 28 | 
            +
            }
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            void
         | 
| 31 | 
            +
            Init_atk_gobjectaccessible()
         | 
| 32 | 
            +
            {
         | 
| 33 | 
            +
                VALUE macc = G_DEF_CLASS(ATK_TYPE_GOBJECT_ACCESSIBLE, "GObjectAccessible", mAtk);
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                rb_define_singleton_method(macc, "for_object", rbatk_gobjectaccessible_s_for_object, 1);
         | 
| 36 | 
            +
                rb_define_method(macc, "object", rbatk_gobjectaccessible_get_object, 0);
         | 
| 37 | 
            +
            }
         | 
| @@ -0,0 +1,92 @@ | |
| 1 | 
            +
            /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
         | 
| 2 | 
            +
            /************************************************
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              rbatkhyperlink.c -
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              $Author: mutoh $
         | 
| 7 | 
            +
              $Date: 2004/10/17 23:06:07 $
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              Copyright (C) 2003,2004 Masao Mutoh
         | 
| 10 | 
            +
            ************************************************/
         | 
| 11 | 
            +
            #include "rbatk.h"
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            #define _SELF(s) (ATK_HYPERLINK(RVAL2GOBJ(s)))
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            static VALUE
         | 
| 16 | 
            +
            rbatk_hl_get_uri(self, i)
         | 
| 17 | 
            +
                VALUE self, i;
         | 
| 18 | 
            +
            {
         | 
| 19 | 
            +
                return CSTR2RVAL(atk_hyperlink_get_uri(_SELF(self), NUM2INT(i)));
         | 
| 20 | 
            +
            }
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            static VALUE
         | 
| 23 | 
            +
            rbatk_hl_get_object(self, i)
         | 
| 24 | 
            +
                VALUE self, i;
         | 
| 25 | 
            +
            {
         | 
| 26 | 
            +
                return GOBJ2RVAL(atk_hyperlink_get_object(_SELF(self), NUM2INT(i)));
         | 
| 27 | 
            +
            }
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            static VALUE
         | 
| 30 | 
            +
            rbatk_hl_get_end_index(self)
         | 
| 31 | 
            +
                VALUE self;
         | 
| 32 | 
            +
            {
         | 
| 33 | 
            +
                return INT2NUM(atk_hyperlink_get_end_index(_SELF(self)));
         | 
| 34 | 
            +
            }
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            static VALUE
         | 
| 37 | 
            +
            rbatk_hl_get_start_index(self)
         | 
| 38 | 
            +
                VALUE self;
         | 
| 39 | 
            +
            {
         | 
| 40 | 
            +
                return INT2NUM(atk_hyperlink_get_start_index(_SELF(self)));
         | 
| 41 | 
            +
            }
         | 
| 42 | 
            +
             | 
| 43 | 
            +
            static VALUE
         | 
| 44 | 
            +
            rbatk_hl_is_valid(self)
         | 
| 45 | 
            +
                VALUE self;
         | 
| 46 | 
            +
            {
         | 
| 47 | 
            +
                return CBOOL2RVAL(atk_hyperlink_is_valid(_SELF(self)));
         | 
| 48 | 
            +
            }
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            #ifdef HAVE_ATK_HYPERLINK_IS_INLINE
         | 
| 51 | 
            +
            static VALUE
         | 
| 52 | 
            +
            rbatk_hl_is_inline(self)
         | 
| 53 | 
            +
                VALUE self;
         | 
| 54 | 
            +
            {
         | 
| 55 | 
            +
                return CBOOL2RVAL(atk_hyperlink_is_inline(_SELF(self)));
         | 
| 56 | 
            +
            }
         | 
| 57 | 
            +
            #endif
         | 
| 58 | 
            +
             | 
| 59 | 
            +
            static VALUE
         | 
| 60 | 
            +
            rbatk_hl_get_n_anchors(self)
         | 
| 61 | 
            +
                VALUE self;
         | 
| 62 | 
            +
            {
         | 
| 63 | 
            +
                return INT2NUM(atk_hyperlink_get_n_anchors(_SELF(self)));
         | 
| 64 | 
            +
            }
         | 
| 65 | 
            +
             | 
| 66 | 
            +
            #ifdef HAVE_ATK_HYPERLINK_IS_SELECTED_LINK
         | 
| 67 | 
            +
            static VALUE
         | 
| 68 | 
            +
            rbatk_hl_is_selected_link(self)
         | 
| 69 | 
            +
                VALUE self;
         | 
| 70 | 
            +
            {
         | 
| 71 | 
            +
                return CBOOL2RVAL(atk_hyperlink_is_selected_link(_SELF(self)));
         | 
| 72 | 
            +
            }
         | 
| 73 | 
            +
            #endif
         | 
| 74 | 
            +
             | 
| 75 | 
            +
            void
         | 
| 76 | 
            +
            Init_atk_hyperlink()
         | 
| 77 | 
            +
            {
         | 
| 78 | 
            +
                VALUE hl = G_DEF_CLASS(ATK_TYPE_HYPERLINK, "Hyperlink", mAtk);
         | 
| 79 | 
            +
             | 
| 80 | 
            +
                rb_define_method(hl, "get_uri", rbatk_hl_get_uri, 1);
         | 
| 81 | 
            +
                rb_define_method(hl, "get_object", rbatk_hl_get_object, 1);
         | 
| 82 | 
            +
                rb_define_method(hl, "end_index", rbatk_hl_get_end_index, 0);
         | 
| 83 | 
            +
                rb_define_method(hl, "start_index", rbatk_hl_get_start_index, 0);
         | 
| 84 | 
            +
                rb_define_method(hl, "valid?", rbatk_hl_is_valid, 0);
         | 
| 85 | 
            +
            #ifdef HAVE_ATK_HYPERLINK_IS_INLINE
         | 
| 86 | 
            +
                rb_define_method(hl, "inline?", rbatk_hl_is_inline, 0);
         | 
| 87 | 
            +
            #endif
         | 
| 88 | 
            +
                rb_define_method(hl, "n_anchors", rbatk_hl_get_n_anchors, 0);
         | 
| 89 | 
            +
            #ifdef HAVE_ATK_HYPERLINK_IS_SELECTED_LINK
         | 
| 90 | 
            +
                rb_define_method(hl, "selected_link?", rbatk_hl_is_selected_link, 0);
         | 
| 91 | 
            +
            #endif
         | 
| 92 | 
            +
            }
         | 
| @@ -0,0 +1,44 @@ | |
| 1 | 
            +
            /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
         | 
| 2 | 
            +
            /************************************************
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              rbatkhypertext.c -
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              $Author: mutoh $
         | 
| 7 | 
            +
              $Date: 2003/12/07 17:18:16 $
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              Copyright (C) 2003 Masao Mutoh
         | 
| 10 | 
            +
            ************************************************/
         | 
| 11 | 
            +
            #include "rbatk.h"
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            #define _SELF(s) (ATK_HYPERTEXT(RVAL2GOBJ(s)))
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            static VALUE
         | 
| 16 | 
            +
            rbatk_ht_get_link(self, link_index)
         | 
| 17 | 
            +
                VALUE self, link_index;
         | 
| 18 | 
            +
            {
         | 
| 19 | 
            +
                return GOBJ2RVAL(atk_hypertext_get_link(_SELF(self), NUM2INT(link_index)));
         | 
| 20 | 
            +
            }
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            static VALUE
         | 
| 23 | 
            +
            rbatk_ht_get_n_links(self)
         | 
| 24 | 
            +
                VALUE self;
         | 
| 25 | 
            +
            {
         | 
| 26 | 
            +
                return INT2NUM(atk_hypertext_get_n_links(_SELF(self)));
         | 
| 27 | 
            +
            }
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            static VALUE
         | 
| 30 | 
            +
            rbatk_ht_get_link_index(self, char_index)
         | 
| 31 | 
            +
                VALUE self, char_index;
         | 
| 32 | 
            +
            {
         | 
| 33 | 
            +
                return INT2NUM(atk_hypertext_get_link_index(_SELF(self), NUM2INT(char_index)));
         | 
| 34 | 
            +
            }
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            void
         | 
| 37 | 
            +
            Init_atk_hypertext()
         | 
| 38 | 
            +
            {
         | 
| 39 | 
            +
                VALUE ht = G_DEF_INTERFACE(ATK_TYPE_HYPERTEXT, "Hypertext", mAtk);
         | 
| 40 | 
            +
             | 
| 41 | 
            +
                rb_define_method(ht, "get_link", rbatk_ht_get_link, 1);
         | 
| 42 | 
            +
                rb_define_method(ht, "n_links", rbatk_ht_get_n_links, 0);
         | 
| 43 | 
            +
                rb_define_method(ht, "link_index", rbatk_ht_get_link_index, 1);
         | 
| 44 | 
            +
            }
         | 
    
        data/src/rbatkimage.c
    ADDED
    
    | @@ -0,0 +1,62 @@ | |
| 1 | 
            +
            /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
         | 
| 2 | 
            +
            /************************************************
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              rbatkhypertext.c -
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              $Author: mutoh $
         | 
| 7 | 
            +
              $Date: 2004/03/05 15:33:47 $
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              Copyright (C) 2004 Masao Mutoh
         | 
| 10 | 
            +
            ************************************************/
         | 
| 11 | 
            +
            #include "rbatk.h"
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            #define _SELF(s) (ATK_IMAGE(RVAL2GOBJ(s)))
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            static VALUE
         | 
| 16 | 
            +
            rbatkimage_get_image_position(self, coord_type)
         | 
| 17 | 
            +
                VALUE self, coord_type;
         | 
| 18 | 
            +
            {
         | 
| 19 | 
            +
                gint x, y;
         | 
| 20 | 
            +
                atk_image_get_image_position(_SELF(self), &x, &y, 
         | 
| 21 | 
            +
                                             RVAL2GENUM(coord_type, ATK_TYPE_COORD_TYPE));
         | 
| 22 | 
            +
                return rb_assoc_new(INT2NUM(x), INT2NUM(y));
         | 
| 23 | 
            +
            }
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            static VALUE
         | 
| 26 | 
            +
            rbatkimage_get_image_description(self)
         | 
| 27 | 
            +
                VALUE self;
         | 
| 28 | 
            +
            {
         | 
| 29 | 
            +
                return CSTR2RVAL(atk_image_get_image_description(_SELF(self)));
         | 
| 30 | 
            +
            }
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            static VALUE
         | 
| 33 | 
            +
            rbatkimage_set_image_description(self, description)
         | 
| 34 | 
            +
                VALUE self, description;
         | 
| 35 | 
            +
            {
         | 
| 36 | 
            +
                gboolean ret = atk_image_set_image_description(_SELF(self),
         | 
| 37 | 
            +
                                                               RVAL2CSTR(description));
         | 
| 38 | 
            +
                if (! ret) rb_raise(rb_eRuntimeError, "Can't set image description");
         | 
| 39 | 
            +
                return self;
         | 
| 40 | 
            +
            }
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            static VALUE
         | 
| 43 | 
            +
            rbatkimage_get_image_size(self)
         | 
| 44 | 
            +
                VALUE self;
         | 
| 45 | 
            +
            {
         | 
| 46 | 
            +
                gint width, height;
         | 
| 47 | 
            +
                atk_image_get_image_size(_SELF(self), &width, &height);
         | 
| 48 | 
            +
                return rb_assoc_new(INT2NUM(width), INT2NUM(height));
         | 
| 49 | 
            +
            }
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            void
         | 
| 52 | 
            +
            Init_atk_image()
         | 
| 53 | 
            +
            {
         | 
| 54 | 
            +
                VALUE image = G_DEF_INTERFACE(ATK_TYPE_IMAGE, "Image", mAtk);
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                rb_define_method(image, "image_position", rbatkimage_get_image_position, 1);
         | 
| 57 | 
            +
                rb_define_method(image, "image_description", rbatkimage_get_image_description, 0);
         | 
| 58 | 
            +
                rb_define_method(image, "set_image_description", rbatkimage_set_image_description, 1);
         | 
| 59 | 
            +
                rb_define_method(image, "image_size", rbatkimage_get_image_size, 0);
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                G_DEF_SETTERS(image);
         | 
| 62 | 
            +
            }
         | 
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
         | 
| 2 | 
            +
            /************************************************
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              rbatkimplementor.c -
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              $Author: mutoh $
         | 
| 7 | 
            +
              $Date: 2003/12/07 17:18:16 $
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              Copyright (C) 2003 Masao Mutoh
         | 
| 10 | 
            +
            ************************************************/
         | 
| 11 | 
            +
            #include "rbatk.h"
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            #define _SELF(s) (ATK_IMPLEMENTOR(RVAL2GOBJ(s)))
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            static VALUE
         | 
| 16 | 
            +
            rbatkimpl_ref_accessible(self)
         | 
| 17 | 
            +
                VALUE self;
         | 
| 18 | 
            +
            {
         | 
| 19 | 
            +
                return GOBJ2RVAL(atk_implementor_ref_accessible(_SELF(self)));
         | 
| 20 | 
            +
            }
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            void
         | 
| 23 | 
            +
            Init_atk_implementor()
         | 
| 24 | 
            +
            {
         | 
| 25 | 
            +
                VALUE impl = G_DEF_INTERFACE(ATK_TYPE_IMPLEMENTOR, "Implementor", mAtk);
         | 
| 26 | 
            +
                rb_define_method(impl, "ref_accessible", rbatkimpl_ref_accessible, 0);
         | 
| 27 | 
            +
            }
         | 
    
        data/src/rbatkinits.c
    ADDED
    
    | @@ -0,0 +1,55 @@ | |
| 1 | 
            +
            extern void   Init_atk_action();
         | 
| 2 | 
            +
            extern void   Init_atk_component();
         | 
| 3 | 
            +
            extern void   Init_atk_document();
         | 
| 4 | 
            +
            extern void   Init_atk_editabletext();
         | 
| 5 | 
            +
            extern void   Init_atk_gobjectaccessible();
         | 
| 6 | 
            +
            extern void   Init_atk_hyperlink();
         | 
| 7 | 
            +
            extern void   Init_atk_hypertext();
         | 
| 8 | 
            +
            extern void   Init_atk_image();
         | 
| 9 | 
            +
            extern void   Init_atk_implementor();
         | 
| 10 | 
            +
            extern void   Init_atk_noopobject();
         | 
| 11 | 
            +
            extern void   Init_atk_noopobjectfactory();
         | 
| 12 | 
            +
            extern void   Init_atk_object();
         | 
| 13 | 
            +
            extern void   Init_atk_objectfactory();
         | 
| 14 | 
            +
            extern void   Init_atk_registry();
         | 
| 15 | 
            +
            extern void   Init_atk_relation();
         | 
| 16 | 
            +
            extern void   Init_atk_relation_set();
         | 
| 17 | 
            +
            extern void   Init_atk_selection();
         | 
| 18 | 
            +
            extern void   Init_atk_state();
         | 
| 19 | 
            +
            extern void   Init_atk_state_set();
         | 
| 20 | 
            +
            extern void   Init_atk_streamable_content();
         | 
| 21 | 
            +
            extern void   Init_atk_table();
         | 
| 22 | 
            +
            extern void   Init_atk_text();
         | 
| 23 | 
            +
            extern void   Init_atk_text_range();
         | 
| 24 | 
            +
            extern void   Init_atk_text_rectangle();
         | 
| 25 | 
            +
            extern void   Init_atk_util();
         | 
| 26 | 
            +
            extern void   Init_atk_value();
         | 
| 27 | 
            +
            void Init_atk_inits()
         | 
| 28 | 
            +
            {
         | 
| 29 | 
            +
               Init_atk_action();
         | 
| 30 | 
            +
               Init_atk_component();
         | 
| 31 | 
            +
               Init_atk_document();
         | 
| 32 | 
            +
               Init_atk_editabletext();
         | 
| 33 | 
            +
               Init_atk_gobjectaccessible();
         | 
| 34 | 
            +
               Init_atk_hyperlink();
         | 
| 35 | 
            +
               Init_atk_hypertext();
         | 
| 36 | 
            +
               Init_atk_image();
         | 
| 37 | 
            +
               Init_atk_implementor();
         | 
| 38 | 
            +
               Init_atk_noopobject();
         | 
| 39 | 
            +
               Init_atk_noopobjectfactory();
         | 
| 40 | 
            +
               Init_atk_object();
         | 
| 41 | 
            +
               Init_atk_objectfactory();
         | 
| 42 | 
            +
               Init_atk_registry();
         | 
| 43 | 
            +
               Init_atk_relation();
         | 
| 44 | 
            +
               Init_atk_relation_set();
         | 
| 45 | 
            +
               Init_atk_selection();
         | 
| 46 | 
            +
               Init_atk_state();
         | 
| 47 | 
            +
               Init_atk_state_set();
         | 
| 48 | 
            +
               Init_atk_streamable_content();
         | 
| 49 | 
            +
               Init_atk_table();
         | 
| 50 | 
            +
               Init_atk_text();
         | 
| 51 | 
            +
               Init_atk_text_range();
         | 
| 52 | 
            +
               Init_atk_text_rectangle();
         | 
| 53 | 
            +
               Init_atk_util();
         | 
| 54 | 
            +
               Init_atk_value();
         | 
| 55 | 
            +
            }
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
         | 
| 2 | 
            +
            /************************************************
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              rbatknoopobject.c -
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              $Author: mutoh $
         | 
| 7 | 
            +
              $Date: 2003/12/04 18:06:17 $
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              Copyright (C) 2003 Masao Mutoh
         | 
| 10 | 
            +
            ************************************************/
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            #include "rbatk.h"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            #define _SELF(s) (ATK_NOOPOBJECT(RVAL2GOBJ(s)))
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            static VALUE
         | 
| 17 | 
            +
            rbatk_no_op_object_initialize(self, gobj)
         | 
| 18 | 
            +
                VALUE self, gobj;
         | 
| 19 | 
            +
            {
         | 
| 20 | 
            +
                G_INITIALIZE(self, atk_no_op_object_new(RVAL2GOBJ(gobj)));
         | 
| 21 | 
            +
                return Qnil;
         | 
| 22 | 
            +
            }
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            void
         | 
| 25 | 
            +
            Init_atk_noopobject()
         | 
| 26 | 
            +
            {
         | 
| 27 | 
            +
                VALUE noop = G_DEF_CLASS(ATK_TYPE_NO_OP_OBJECT, "NoOpObject", mAtk);
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                rb_define_method(noop, "initialize", rbatk_no_op_object_initialize, 1);
         | 
| 30 | 
            +
            }
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
         | 
| 2 | 
            +
            /************************************************
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              rbatknoopobjectfactory.c -
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              $Author: mutoh $
         | 
| 7 | 
            +
              $Date: 2003/12/07 17:18:16 $
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              Copyright (C) 2003 Masao Mutoh
         | 
| 10 | 
            +
            ************************************************/
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            #include "rbatk.h"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            #define _SELF(s) (ATK_NO_OP_OBJECT_FACTORY(RVAL2GOBJ(s)))
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            static VALUE
         | 
| 17 | 
            +
            rbatk_no_op_object_factory_initialize(self)
         | 
| 18 | 
            +
                VALUE self;
         | 
| 19 | 
            +
            {
         | 
| 20 | 
            +
                G_INITIALIZE(self, atk_no_op_object_factory_new());
         | 
| 21 | 
            +
                return Qnil;
         | 
| 22 | 
            +
            }
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            void
         | 
| 25 | 
            +
            Init_atk_noopobjectfactory()
         | 
| 26 | 
            +
            {
         | 
| 27 | 
            +
                VALUE noop = G_DEF_CLASS(ATK_TYPE_NO_OP_OBJECT_FACTORY, "NoOpObjectFactory", mAtk);
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                rb_define_method(noop, "initialize", rbatk_no_op_object_factory_initialize, 0);
         | 
| 30 | 
            +
            }
         | 
    
        data/src/rbatkobject.c
    ADDED
    
    | @@ -0,0 +1,178 @@ | |
| 1 | 
            +
            /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
         | 
| 2 | 
            +
            /************************************************
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              rbatkobject.c -
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              $Author: ggc $
         | 
| 7 | 
            +
              $Date: 2007/07/13 16:07:28 $
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              Copyright (C) 2003,2004 Masao Mutoh
         | 
| 10 | 
            +
            ************************************************/
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            #include "rbatk.h"
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            #define _SELF(s) (ATK_OBJECT(RVAL2GOBJ(s)))
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            /* How can I implement this? Since 1.10
         | 
| 17 | 
            +
            AtkObject*  atk_implementor_ref_accessible  (AtkImplementor *implementor);
         | 
| 18 | 
            +
            */
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            /* Use properties accessible_* 
         | 
| 21 | 
            +
            G_CONST_RETURN gchar* atk_object_get_name   (AtkObject *accessible);
         | 
| 22 | 
            +
            G_CONST_RETURN gchar* atk_object_get_description
         | 
| 23 | 
            +
                                                        (AtkObject *accessible);
         | 
| 24 | 
            +
            AtkObject*  atk_object_get_parent           (AtkObject *accessible);
         | 
| 25 | 
            +
                                                        (AtkObject *accessible);
         | 
| 26 | 
            +
            */
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            static VALUE
         | 
| 29 | 
            +
            rbatkobj_get_n_accessible_children(self)
         | 
| 30 | 
            +
                VALUE self;
         | 
| 31 | 
            +
            {
         | 
| 32 | 
            +
                return INT2NUM(atk_object_get_n_accessible_children(_SELF(self)));
         | 
| 33 | 
            +
            }
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            static VALUE
         | 
| 36 | 
            +
            rbatkobj_ref_accessible_child(self, i)
         | 
| 37 | 
            +
                VALUE self, i;
         | 
| 38 | 
            +
            {
         | 
| 39 | 
            +
                return GOBJ2RVAL(atk_object_ref_accessible_child(_SELF(self), NUM2INT(i)));
         | 
| 40 | 
            +
            }
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            static VALUE
         | 
| 43 | 
            +
            rbatkobj_ref_releation_set(self)
         | 
| 44 | 
            +
                VALUE self;
         | 
| 45 | 
            +
            {
         | 
| 46 | 
            +
                return GOBJ2RVAL(atk_object_ref_relation_set(_SELF(self)));
         | 
| 47 | 
            +
            }
         | 
| 48 | 
            +
             | 
| 49 | 
            +
            /* Use properties accessible_* 
         | 
| 50 | 
            +
            AtkLayer    atk_object_get_layer            (AtkObject *accessible);
         | 
| 51 | 
            +
            gint        atk_object_get_mdi_zorder       (AtkObject *accessible);
         | 
| 52 | 
            +
            AtkRole     atk_object_get_role             (AtkObject *accessible);
         | 
| 53 | 
            +
            */
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            static VALUE
         | 
| 56 | 
            +
            rbatkobj_ref_state_set(self)
         | 
| 57 | 
            +
                VALUE self;
         | 
| 58 | 
            +
            {
         | 
| 59 | 
            +
                return GOBJ2RVAL(atk_object_ref_state_set(_SELF(self)));
         | 
| 60 | 
            +
            }
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            static VALUE
         | 
| 63 | 
            +
            rbatkobj_get_index_in_parent(self)
         | 
| 64 | 
            +
                VALUE self;
         | 
| 65 | 
            +
            {
         | 
| 66 | 
            +
                return INT2NUM(atk_object_get_index_in_parent(_SELF(self)));
         | 
| 67 | 
            +
            }
         | 
| 68 | 
            +
            /* Use properties accessible_* 
         | 
| 69 | 
            +
            void        atk_object_set_name             (AtkObject *accessible,
         | 
| 70 | 
            +
                                                         const gchar *name);
         | 
| 71 | 
            +
            void        atk_object_set_description      (AtkObject *accessible,
         | 
| 72 | 
            +
                                                         const gchar *description);
         | 
| 73 | 
            +
            void        atk_object_set_parent           (AtkObject *accessible,
         | 
| 74 | 
            +
                                                         AtkObject *parent);
         | 
| 75 | 
            +
            void        atk_object_set_role             (AtkObject *accessible,
         | 
| 76 | 
            +
                                                         AtkRole role);
         | 
| 77 | 
            +
            */
         | 
| 78 | 
            +
             | 
| 79 | 
            +
            /*    
         | 
| 80 | 
            +
            guint       atk_object_connect_property_change_handler
         | 
| 81 | 
            +
                                                        (AtkObject *accessible,
         | 
| 82 | 
            +
                                                         AtkPropertyChangeHandler *handler);
         | 
| 83 | 
            +
            void        atk_object_remove_property_change_handler
         | 
| 84 | 
            +
                                                        (AtkObject *accessible,
         | 
| 85 | 
            +
                                                         guint handler_id);
         | 
| 86 | 
            +
            */
         | 
| 87 | 
            +
             | 
| 88 | 
            +
            static VALUE
         | 
| 89 | 
            +
            rbatkobj_notify_state_change(self, state, value)
         | 
| 90 | 
            +
                VALUE self, state, value;
         | 
| 91 | 
            +
            {
         | 
| 92 | 
            +
                atk_object_notify_state_change(_SELF(self), 
         | 
| 93 | 
            +
                                               RVAL2GENUM(state, ATK_TYPE_STATE_TYPE),
         | 
| 94 | 
            +
                                               RVAL2CBOOL(value));
         | 
| 95 | 
            +
                return self;
         | 
| 96 | 
            +
            }
         | 
| 97 | 
            +
             | 
| 98 | 
            +
            /* I don't have a good idea to implement this method. Any idea?
         | 
| 99 | 
            +
            void        atk_object_initialize           (AtkObject *accessible,
         | 
| 100 | 
            +
                                                         gpointer data);
         | 
| 101 | 
            +
            */
         | 
| 102 | 
            +
             | 
| 103 | 
            +
            #ifdef HAVE_ATK_OBJECT_ADD_RELATIONSHIP
         | 
| 104 | 
            +
            static VALUE
         | 
| 105 | 
            +
            rbatkobj_add_relationship(self, relationship, target)
         | 
| 106 | 
            +
                VALUE self, relationship, target;
         | 
| 107 | 
            +
            {
         | 
| 108 | 
            +
                return CBOOL2RVAL(atk_object_add_relationship(
         | 
| 109 | 
            +
                                      _SELF(self), 
         | 
| 110 | 
            +
                                      RVAL2GENUM(relationship, ATK_TYPE_RELATION_TYPE),
         | 
| 111 | 
            +
                                      _SELF(target)));
         | 
| 112 | 
            +
            }
         | 
| 113 | 
            +
            #endif
         | 
| 114 | 
            +
             | 
| 115 | 
            +
            #ifdef HAVE_ATK_OBJECT_REMOVE_RELATIONSHIP
         | 
| 116 | 
            +
            static VALUE
         | 
| 117 | 
            +
            rbatkobj_remove_relationship(self, relationship, target)
         | 
| 118 | 
            +
                VALUE self, relationship, target;
         | 
| 119 | 
            +
            {
         | 
| 120 | 
            +
                return CBOOL2RVAL(atk_object_remove_relationship(
         | 
| 121 | 
            +
                                      _SELF(self), 
         | 
| 122 | 
            +
                                      RVAL2GENUM(relationship, ATK_TYPE_RELATION_TYPE),
         | 
| 123 | 
            +
                                      _SELF(target)));
         | 
| 124 | 
            +
            }
         | 
| 125 | 
            +
            #endif
         | 
| 126 | 
            +
             | 
| 127 | 
            +
            /* We don't need this.
         | 
| 128 | 
            +
            G_CONST_RETURN gchar* atk_role_get_name     (AtkRole role);
         | 
| 129 | 
            +
            */
         | 
| 130 | 
            +
             | 
| 131 | 
            +
            static VALUE
         | 
| 132 | 
            +
            rbatkrole_get_localized_name(self)
         | 
| 133 | 
            +
                VALUE self;
         | 
| 134 | 
            +
            {
         | 
| 135 | 
            +
            #ifdef HAVE_ATK_ROLE_GET_LOCALIZED_NAME
         | 
| 136 | 
            +
                return CSTR2RVAL(atk_role_get_localized_name(RVAL2GENUM(self, ATK_TYPE_ROLE)));
         | 
| 137 | 
            +
            #else
         | 
| 138 | 
            +
                rb_warning("not supported in this version of ATK.");
         | 
| 139 | 
            +
                return Qnil;
         | 
| 140 | 
            +
            #endif
         | 
| 141 | 
            +
            }
         | 
| 142 | 
            +
             | 
| 143 | 
            +
            static VALUE
         | 
| 144 | 
            +
            rbatkrole_s_for_name(self, name)
         | 
| 145 | 
            +
                VALUE self, name;
         | 
| 146 | 
            +
            {
         | 
| 147 | 
            +
                return GENUM2RVAL(atk_role_for_name(RVAL2CSTR(name)), ATK_TYPE_ROLE);
         | 
| 148 | 
            +
            }
         | 
| 149 | 
            +
             | 
| 150 | 
            +
            void
         | 
| 151 | 
            +
            Init_atk_object()
         | 
| 152 | 
            +
            {
         | 
| 153 | 
            +
                VALUE obj = G_DEF_CLASS(ATK_TYPE_OBJECT, "Object", mAtk);
         | 
| 154 | 
            +
                VALUE role;
         | 
| 155 | 
            +
             | 
| 156 | 
            +
                rb_define_method(obj, "n_accessible_children", rbatkobj_get_n_accessible_children, 0);
         | 
| 157 | 
            +
                rb_define_method(obj, "ref_accessible_child", rbatkobj_ref_accessible_child, 1);
         | 
| 158 | 
            +
                rb_define_method(obj, "ref_relation_set", rbatkobj_ref_releation_set, 0);
         | 
| 159 | 
            +
                rb_define_method(obj, "ref_state_set", rbatkobj_ref_state_set, 0);
         | 
| 160 | 
            +
                rb_define_method(obj, "index_in_parent", rbatkobj_get_index_in_parent, 0);
         | 
| 161 | 
            +
                rb_define_method(obj, "notify_state_change", rbatkobj_notify_state_change, 2);
         | 
| 162 | 
            +
            #ifdef HAVE_ATK_OBJECT_ADD_RELATIONSHIP
         | 
| 163 | 
            +
                rb_define_method(obj, "add_relationship", rbatkobj_add_relationship, 2);
         | 
| 164 | 
            +
            #endif
         | 
| 165 | 
            +
            #ifdef HAVE_ATK_OBJECT_REMOVE_RELATIONSHIP
         | 
| 166 | 
            +
                rb_define_method(obj, "remove_relationship", rbatkobj_remove_relationship, 2);
         | 
| 167 | 
            +
            #endif
         | 
| 168 | 
            +
             | 
| 169 | 
            +
                /* AtkRole */
         | 
| 170 | 
            +
                role = G_DEF_CLASS(ATK_TYPE_ROLE, "Role", obj);
         | 
| 171 | 
            +
                rb_define_method(role, "localized_name", rbatkrole_get_localized_name, 0);
         | 
| 172 | 
            +
                rb_define_singleton_method(role, "for_name", rbatkrole_s_for_name, 1);
         | 
| 173 | 
            +
                G_DEF_CONSTANTS(obj, ATK_TYPE_ROLE, "ATK_");
         | 
| 174 | 
            +
             | 
| 175 | 
            +
                /* AtkLayer */
         | 
| 176 | 
            +
                G_DEF_CLASS(ATK_TYPE_LAYER, "Layer", obj);
         | 
| 177 | 
            +
                G_DEF_CONSTANTS(obj, ATK_TYPE_LAYER, "ATK_");
         | 
| 178 | 
            +
            }
         |