2004-06-21 Eric Zhao <eric.zhao@sun.com>
Fixes 59047.
* gal/a11y/e-table/gal-a11y-e-table-item.c: (model_to_view_row),
(model_to_view_col), (eti_ref_at), (eti_a11y_cursor_changed_cb):
Set the cell's ATK_STATE_SHOWING and ATK_STATE_VISIBLE properties to
be TURE, so that gnopernicus can read the whole table line. Also
convert the cursor's to position to view format, prevent potential
bug.
svn path=/trunk/; revision=26436
* calendar/ea-week-view.c: (ea_week_view_get_n_children): If the
week view has no spans, there is no visible events in the view.
svn path=/trunk/; revision=25596
2004-04-22 Eric Zhao <eric.zhao@sun.com>
Fixes#48974.
* gal/a11y/e-table/gal-a11y-e-tree.c: (init_child_item): add a check
to see whether the corresponding AtkObject of ETableItem has been
initialized.
svn path=/trunk/; revision=25580
2004-04-22 Eric Zhao <eric.zhao@sun.com>
Fixes bug #52935.
* gal/a11y/e-table/gal-a11y-e-table-item.c: (eti_ref_at),
(eti_reinit_data), (eti_clear_rows),
(eti_tree_model_node_changed_cb), (gal_a11y_e_table_item_new),
(eti_a11y_cursor_changed_cb): add cell-data synchronization when the
table's model has been changed, prevent data inconsistency.
svn path=/trunk/; revision=25579
2003-12-16 Yuedong Du <yuedong.du@sun.com>
Fixed bug 51917, add atk support for ClickToAdd
* gal/a11y/e-table/Makefile.am: add files.
* gal/a11y/e-table/gal-a11y-e-table-click-to-add-factory.c:
(gal_a11y_e_table_click_to_add_factory_get_accessible_type),
(gal_a11y_e_table_click_to_add_factory_create_accessible),
(gal_a11y_e_table_click_to_add_factory_class_init),
(gal_a11y_e_table_click_to_add_factory_init),
(gal_a11y_e_table_click_to_add_factory_get_type): factory
for ClickToAdd
* gal/a11y/e-table/gal-a11y-e-table-click-to-add-factory.h:
ditto
* gal/a11y/e-table/gal-a11y-e-table-click-to-add.c:
(etcta_get_n_actions), (etcta_get_description),
(etcta_action_get_name), (idle_do_action), (etcta_do_action),
(atk_action_interface_init): a "click" action interface.
(etcta_get_name),
(etcta_get_n_children), (etcta_ref_child): create accessible
according to which child is available. Either rect or row.
(etcta_class_init),
(etcta_init), (gal_a11y_e_table_click_to_add_get_type),
(etcta_event): listen to canvas event, emit children-changed signal
when it found rect/row was changed.
(gal_a11y_e_table_click_to_add_new):
* gal/a11y/e-table/gal-a11y-e-table-click-to-add.h:
* gal/a11y/e-table/gal-a11y-e-table-item-factory.c:
(gal_a11y_e_table_item_factory_create_accessible):
* gal/a11y/e-table/gal-a11y-e-table.c: (init_child_item),
(et_get_n_children), (et_ref_child): change the trick way to
create a11y object for a table item. Because ClickToAdd is also
a table item, previous way do not work for clicktoadd.
* gal/e-table/e-table-click-to-add.c: (etcta_class_init):
atk_register the new a11y factory.
svn path=/trunk/; revision=23956
2003-12-09 Andrew Wu <Yang.Wu@sun.com>
* calendar/Makefile.am: add entries for new source files
* calendar/ea-calendar-helpers.c: add cases for jump button.
* calendar/ea-calendar.c: add cases for week view and week view main item.
* calendar/ea-jump-button.c: new impl.
* calendar/ea-week-view-cell.c: new impl.
* calendar/ea-week-view-main-item.c: new impl.
* calendar/ea-week-view.c: add main item as first child.
svn path=/trunk/; revision=23892
2003-12-02 Tim Wo <tim.wo@sun.com>
* gal/a11y/e-table/gal-a11y-e-cell-toggle.c:
(gal_a11y_e_cell_toggle_dispose): use table item to get the model.
(gal_a11y_e_cell_toggle_new): use table item to get the model.
* gal/a11y/e-table/gal-a11y-e-cell-tree.c:
(ectr_model_row_changed_cb): new function to deal with tree cell
expansion and collapse
(ectr_subcell_weak_ref): destroy the cell_tree a11y instance along
with it's subcell's a11y instance.
(gal_a11y_e_cell_tree_new): init the atk state of the tree cell,
and connect to the model_row_change signal of table model, so that
when the tree cell expands or collapses, the corresponding AtkState
could be set.
* gal/a11y/e-table/gal-a11y-e-cell-tree.h: add one member to save
the connected signal id.
svn path=/trunk/; revision=23567
2003-12-01 Yuedong Du <yuedong.du@sun.com>
* gal/a11y/e-table/gal-a11y-e-table-item.c:
(gal_a11y_e_table_item_new): don't assert row=0 as fault, it cause bug
51199.
svn path=/trunk/; revision=23566
2003-12-01 Yuedong Du <yuedong.du@sun.com>
* gal/a11y/e-table/gal-a11y-e-cell-toggle.c:
(gal_a11y_e_cell_toggle_dispose):
* gal/a11y/e-table/gal-a11y-e-table-item.c: (eti_dispose),
(eti_header_structure_changed): handle the structure changed signal of
table model. Thus we can handle table column add/remove/delete.
(eti_real_initialize): connect to structure-changed signal.
(gal_a11y_e_table_item_new): initialize the new added field - columns,
which in turn record columns before change.
svn path=/trunk/; revision=23563
2003-11-21 Tim Wo <tim.wo@sun.com>
* gal/a11y/e-table/gal-a11y-e-cell-text.c: (ect_get_name): override
the function in base class, to retrieve the content of the text.
(ect_do_action_edit): begin edit the cell when issuing the action.
(ect_class_init): override the "get_name" function.
(ect_init): add an action "edit" to the object.
(gal_a11y_e_cell_text_get_type): add AtkAction interface to this type.
* gal/a11y/e-table/gal-a11y-e-cell-toggle.c
(gal_a11y_e_cell_toggle_dispose): disconnect the connected signal when
disposing.
(gal_a11y_e_cell_toggle_class_init): to override the dispose function.
(toggle_cell_action): set position of the click event more precisely.
(model_change_cb): set or remove the ATK_STATE_CHECKED flag according
to the value in the model when it changes.
(gal_a11y_e_cell_toggle_new): init the ATK_STATE_CHECKED flag and
connect to the model cell change signal.
* gal/a11y/e-table/gal-a11y-e-cell-toggle.h: add one member to save
the connected signal id.
* gal/a11y/e-table/gal-a11y-e-cell.c: (gal_a11y_e_cell_grab_focus):
notify the selection model that the cursor has been changed.
* gal/a11y/e-table/gal-a11y-e-table-item.c:
(eti_a11y_cursor_changed_cb): emiting a signal to notify the AT
applictions that the active descendant has been changed. (#51055)
svn path=/trunk/; revision=23466
2003-11-19 Yuedong Du <yuedong.du@sun.com>
* gal/a11y/e-table/gal-a11y-e-cell.c: (eti_dispose): don't reset
these fields, we need these info to a11y weak ref on each cell to
do cell_destroy() correctly.
* gal/a11y/e-table/gal-a11y-e-table-item.c: (eti_dispose),
(cell_destroyed), (eti_ref_at), (eti_rows_inserted),
(eti_rows_deleted), (eti_real_initialize), (eti_class_init),
(gal_a11y_e_table_item_new): handle table model's row-inserted
and row-deleted signal
* gal/a11y/e-table/gal-a11y-e-tree.c: (init_child_item): sanity
check to avoid crash.
svn path=/trunk/; revision=23456
2003-11-03 Tim Wo <tim.wo@sun.com>
* gal/a11y/e-table/Makefile.am: new files (gal-a11y-e-cell-tree.c/h)
added
* gal/a11y/e-table/gal-a11y-e-cell.h: adding 2 new functions to add or
remove atk states
* gal/a11y/e-table/gal-a11y-e-cell.c (eti_dispose): unref the state_set
(eti_ref_state_set): new function
(eti_class_init): create and initialize the state_set
(eti_init): override the "ref_state_set" function in AtkObjectClass with
"eti_ref_state_set"
(gal_a11y_e_cell_add_state): adding a return value
(gal_a11y_e_cell_remove_state): new function
* gal/e-table/e-cell-tree.c: (e_cell_tree_class_init): register
GalA11yECellText as the a11y implementation for ECellText.
(e_cell_tree_view_get_subcell_view): new function to retrieve the cell_view
of subcell in ECellTree
* gal/e-table/e-cell-tree.h: adding 1 new function to retrieve the cell_view
of subcell in ECellTree
* gal/a11y/e-table/gal-a11y-e-cell-tree.c: new file. A11y implementation
for ECellTree
* gal/a11y/e-table/gal-a11y-e-cell-tree.h: new file. A11y implementation
for ECellTree
svn path=/trunk/; revision=23296
2003-10-30 Tim Wo <tim.wo@sun.com>
* gal/a11y/e-table/gal-a11y-e-cell.c (eti_grab_focus): new function
to deal with grabing table cell focus
(eti_atk_component_iface_init): Override "grab_focus" virtual function
with eti_grab_focus of AtkComponent interface. (#50131)
* gal/e-table/e-cell-text.c: (e_cell_text_class_init): register
GalA11yECellText as the a11y implementation for ECellText.
svn path=/trunk/; revision=23166
2003-10-11 Larry Ewing <lewing@ximian.com>
* gal/a11y/e-text/ChangeLog: make sure the declation is at the
beginning of the block.
svn path=/trunk/; revision=22868
2003-10-11 Yuedong Du <yuedong.du@sun.com>
* gal/a11y/e-table/Makefile.am: add new files.
* gal/a11y/e-table/gal-a11y-e-cell.c: (gal_a11y_e_cell_construct):
set the right role.
* gal/a11y/e-table/gal-a11y-e-table-item-factory.c: new file.
(gal_a11y_e_table_item_factory_get_accessible_type),
(gal_a11y_e_table_item_factory_create_accessible),
(gal_a11y_e_table_item_factory_class_init),
(gal_a11y_e_table_item_factory_init),
(gal_a11y_e_table_item_factory_get_type): factory for the table item
a11y object. in create_accessible, we judge the type of widget
then set correct role.
* gal/a11y/e-table/gal-a11y-e-table-item-factory.h: ditto.
* gal/a11y/e-table/gal-a11y-e-tree-factory.c: new file.
(gal_a11y_e_tree_factory_get_accessible_type),
(gal_a11y_e_tree_factory_create_accessible),
(gal_a11y_e_tree_factory_class_init),
(gal_a11y_e_tree_factory_init), (gal_a11y_e_tree_factory_get_type):
factory for a11y object of etree. Mostly copyed from
gal-a11y-e-table-factory.c.
* gal/a11y/e-table/gal-a11y-e-tree-factory.h: ditto
* gal/a11y/e-table/gal-a11y-e-tree.c: (init_child_item),
(et_ref_accessible_at_point), (et_get_n_children), (et_ref_child),
(et_class_init), (et_atk_component_iface_init), (et_init),
(gal_a11y_e_tree_get_type), (gal_a11y_e_tree_new):a11y object for
etree object, mostly copied from gal-a11y-e-table.c. init_child_item
set correct role for the table item.
* gal/a11y/e-table/gal-a11y-e-tree.h: ditto.
* gal/e-table/e-table-item.c: (eti_class_init): register factory
for table item a11y object.
* gal/e-table/e-tree.c: (e_tree_get_item), (e_tree_class_init):
add new access fuction to get the table item of etree.
* gal/e-table/e-tree.h: ditto
svn path=/trunk/; revision=22867
2003-09-27 Tim Wo <tim.wo@sun.com>
* gal/a11y/e-text/gal-a11y-e-text-factory.c
(gal_a11y_e_text_factory_create_accessible): set the role of the
atk object in the initialization function of GalA11yEText
* gal/a11y/e-text/gal-a11y-e-text.c (is_a_seperator),
(find_word_start), (find_word_end), (find_sentence_start),
(find_sentence_end), (find_line_start), (find_line_end): 7 new
private functions, They are all used by text retrieving functions
below.
(et_get_text_after_offset): implementation added
(et_get_text_at_offset): implementation added
(et_get_text_before_offset): implementation added
(et_get_character_extents): implementation added
(et_get_offset_at_point): implementation added
(et_set_caret_offset): use command to modify the cursor position,
so that we can be notified and emit "text-caret-moved" signal in
function _et_command_cb.
(_et_reposition_cb): new function to emit "text-changed" signal
for the atk object
(_et_command_cb): new function to emit "text-caret-moved" and
"text-selection-changed" signals for the atk object
(et_real_initialize): new function to deal with initialization of
GalA11yEText. It set some signal callbacks and the atk role of
the atk object (set GalA11yEText's role to ATK_ROLE_TEXT).
(et_class_init): override the virtual function "initialize" in
baseclass (AtkObject) with "et_real_initialize"
svn path=/trunk/; revision=22856
2003-10-09 Jeffrey Stedfast <fejj@ximian.com>
* calendar/Makefile.am: INCLUDE path fixes for changes made to
libical build.
svn path=/trunk/; revision=22843
2003-09-22 Tim Wo <tim.wo@sun.com>
* gal/a11y/e-text/gal-a11y-e-text.c (et_get_text): some checking
code added to ensure that end_offset and start_offset both belong
to [0, length of the text] and end_offset >= start_offset or it
will lead to a crash
(et_get_caret_offset):no need to deal with character encoding
here, since the widget has already delt with it.
(et_get_selection): dealing with character encoding and ensure
end_offset >= start_offset, or it will lead to a crash
(et_add_selection): we can not get the ETextEventProcessor here,
so the old implementation leads to a crash. Modify the parameters
"selection_start" and "selection_end" directly instead
(et_remove_selection): implementation added
(et_set_selection): implementation added
(et_set_caret_offset): no need to deal with character encoding
here, since the widget has already delt with it. Another change
is when offset == -1, move the caret to the end of the text,
this keeps the same behavior as GailTextview
svn path=/trunk/; revision=22685
2003-09-13 Tim Wo <tim.wo@sun.com>
* gal/a11y/e-text/gal-a11y-e-text.c (et_insert_text): make the
code be compliant with C89, or it can't be compiled on solaris.
(et_copy_text): implementation added
(et_cut_text): implementation added
(et_delete_text): implementation added
(et_paste_text): implementation added
svn path=/trunk/; revision=22606
2003-09-08 Tim Wo <tim.wo@sun.com>
* gal/a11y/e-text/gal-a11y-e-text-factory.h: GalA11yETextFactory
should inherit from AtkObjectFactory not AtkObject. (#47097).
* gal/a11y/e-text/gal-a11y-e-text.c (et_class_init): Set value
for "component_parent_iface". (#47097)
* gal/e-text/e-text.c (e_text_class_init): Added registration
code for GalA11yETextFactory. (#47097)
svn path=/trunk/; revision=22551