| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2005-04-29 Tor Lillqvist <tml@novell.com>
Port to Windows, initial commit:
* configure.in: Check for Win32, define Automake conditional
OS_WIN32. Check for regexec() perhaps in separate -lregex, define
REGEX_LIBS if so. Require glib-2.0 >= 2.6 (and thus also gtk+-2.0
>= 2.6) so that we can use the gstdio wrappers for full support of
non-ASCII filenames on Win32. Don't use -D_REENTRANT on Win32, has
ne special meaning.
* gal.pc.in: Require gtk+-2.0 >= 2.6 also here for consistency.
* gal-zip.in: New file, used to build zipfile format distribution
of gal for Win32.
* configure.in
* Makefile.am: Add gal-zip(.in).
* */Makefile.am
* */*.c: Harmonize -I and #include conventions. (Of course, this
hasn't anything to do with Windows porting as such, I just got
carried away...) Use only -I$(top_srcdir). Use paths to gal
headers staring with "gal", except for headers from the same
directory as the .c file, which are included as such. Include all
gal headers using doublequotes. Sort #includes and remove
duplicates and obvious redundancies. Include config.h first
without any HAVE_CONFIG_H, then system headers, then other GNOME
lib headers, than gal's own headers. Just include gtk.h instead of
separate gtk*.h headers. Don't include gi18n.h, include e-i18n.h
to use e_gettext() consistently.
* gal/Makefile.am: Use -no-undefined on Win32 so that libtool
agrees to build a shared library. Because of the bidirectional
dependency between libgal and libgal-a11y we can build libgal-a11y
sanely as a shared library on Win32, so we don't install any
separate libgal-a11y at all. So, on Win32, link the stuff that
goes into libgal-a11y also into libgal. Link with REGEX_LIBS.
* gal/a11y/Makefile.am: See above. Just build a dummy static
libgal-a11y on Win32 (can't convince Automake not to build the
library at all on one platform using Automake ifdef,
apparently). Then (this is a gross hack) explicitly remove the
library after installation in the install-data-local rule.
* gal/e-table/Makefile.am
* gal/e-table/e-table-config.c: Rename ETABLE_GLADEDIR to
GAL_GLADEDIR for consistency.
* gal/e-table/e-cell-date.c: No localtime_r() in Microsoft's C
library, but its localtime() *is* thread-safe.
* gal/e-table/e-cell-text.c
* gal/e-table/e-cell-tree.c
* gal/e-table/e-cell-vbox.c
* gal/e-text/e-text.c
* gal/widgets/e-unicode.c: Remove unnecessary inclusion of gdkx.h.
* gal/e-table/e-cell-tree.c (ect_realize): Instead of the Xlib
macro None (whose value is zero), use the corresponding
zero-valued enums from the appropriate GDK type.
* gal/e-table/e-table-config.c
* gal/e-table/e-table-field-chooser.c
* gal/menus/gal-define-views-dialog.c
* gal/menus/gal-view-instance-save-as-dialog.c
* gal/menus/gal-view-new-dialog.c
* gal/widgets/e-categories-master-list-array.c
* gal/widgets/e-categories-master-list-dialog.c
* gal/widgets/e-categories.c: Use g_build_filename() to construct
pathnames at run-time instead of compile-time. On Windows the
macros GAL_GLADEDIR and GAL_IMAGESDIR expand to function calls, in
order to support installing in a freely chosen location.
* gal/e-table/e-table-item.c
* gal/e-table/e-cell-vbox.c: Instrad of the Xlib GrabSuccess, use
GDK_GRAB_SUCCESS (which has the same value).
* gal/e-table/e-table-specification.c (e_table_specification_load_from_file)
* gal/e-table/e-table.c (e_table_load_specification)
* gal/e-table/e-tree-table-adapter.c (open_file)
* gal/menus/gal-view-instance.c (load_current_view)
* gal/menus/gal-view-instance.c (load_current_view): On Win32,
convert filename to the locale character set before passing to
xmlParseFile() which doesn't use UTF-8 filenames. Use gstdio
wrappers.
* gal/util/Makefile.am: Define GAL_PREFIX as $prefix. Define
GAL_LOCALEDIR, GAL_GLADEDIR and GAL_IMAGESDIR also here for
e-win32-reloc.c. Include e-win32-reloc.c on Win32.
* gal/util/e-iconv.c (e_iconv_init): Use g_win32_getlocale() on
Windows.
* gal/util/e-util.c
* gal/util/e-xml-utils.c: Use g_mkstemp() instead of non-portable
mkstemp(). Use GLib pathname manipulation functions. Use gstdio
wrappers.
* gal/util/e-util-private.h: New file. Contains just Win32 bits
for now that redefine the directory names from the Makefile as
functions calls.
* gal/util/e-win32-reloc.c: New file. Contains a minimal DllMain()
and functions to support freely chosen installation location on
Windows.
* gal/util/e-xml-utils.c: No fsync() in the Microsoft C library.
* gal/windgets/Makefile.am: Add -I$(top_srcdir)/gal for
consistency with the sibling Makefile.am files.
* gal/widgets/e-canvas.c: Instead of the Xlib AlreadyGrabbed, use
GDK_GRAB_ALREADY_GRABBED.
svn path=/trunk/; revision=29249
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2004-06-10 Radek Doulik <rodo@ximian.com>
* gal/a11y/e-table/gal-a11y-e-table-click-to-add.c
(idle_do_action): added cast
* gal/a11y/e-table/gal-a11y-e-cell-tree.c
(gal_a11y_e_cell_tree_new): added cast
* gal/a11y/e-table/gal-a11y-e-cell.c: added #include
<gtk/gtkwindow.h>
* gal/e-text/e-text.c (_get_position): removed unused variable
* gal/e-text/e-completion.c: #if 0'ed e_completion_sort
* tests/test-text.c (create_entry): removed unused variables
added #include "gal/widgets/e-canvas-utils.h"
added #include "gal/e-text/e-text-model.h"
(create_text): removed unused variables
(create_ro_text): ditto
* tests/test-table-1.c (create_table): added cast
* tests/test-completion.c (main): added cast
* gal/a11y/e-text/gal-a11y-e-text.c (et_get_text): return NULL if
check fails
added #include <string.h> for strlen
(et_get_text_after_offset): fixed typo defalut --> default
(et_get_text_at_offset): ditto
(et_get_character_extents): removed unused variables
(et_set_selection): ditto
(_et_command_cb): added default: label to quiet compiler
* gal/a11y/e-table/gal-a11y-e-table-click-to-add-factory.c
(gal_a11y_e_table_click_to_add_factory_create_accessible): return
NULL if check fails
* gal/a11y/e-table/gal-a11y-e-table-click-to-add.c
(idle_do_action): fixed wrong cast
(idle_do_action): removed unused variables
(etcta_ref_child): return NULL if check fails
(gal_a11y_e_table_click_to_add_new): ditto
(gal_a11y_e_table_click_to_add_new): removed unused variable
* gal/a11y/e-table/gal-a11y-e-table-item-factory.c
(gal_a11y_e_table_item_factory_create_accessible): return NULL if
fails
(gal_a11y_e_table_item_factory_create_accessible): added cast
(gal_a11y_e_table_item_factory_create_accessible): removed unused
variable
* gal/a11y/e-table/gal-a11y-e-table-item.c (eti_dispose): removed
unused variable
(eti_get_parent): ditto
(eti_get_n_children): ditto
(eti_ref_child): ditto
(eti_get_index_in_parent): ditto
(eti_ref_accessible_at_point): return value (NULL)
(cell_destroyed): removed unused variable
(cell_destroyed): ditto
(table_add_row_selection): ditto
added #inclued <string.h> for memset, memmove
(eti_rows_inserted): removed unused variable
(eti_rows_deleted): ditto
(eti_header_structure_changed): ditto
* gal/a11y/e-table/gal-a11y-e-cell-popup.c
(gal_a11y_e_cell_popup_class_init): removed unused variable
added #include "gal-a11y-e-cell-registry.h"
(popup_cell_action): removed unused variable
* gal/a11y/e-table/gal-a11y-e-cell-toggle.c (toggle_cell_action):
removed unused variable
* gal/a11y/e-table/gal-a11y-e-cell-tree.c: added #include
"gal-a11y-e-cell-registry.h"
(gal_a11y_e_cell_tree_new): add cast
(gal_a11y_e_cell_tree_new): removed unused variable
* gal/a11y/e-table/gal-a11y-e-cell-text.c: added #include
<string.h>
(ect_remove_selection): removed unused variable
(ect_copy_text): added cast
(ect_delete_text): ditto
(ect_paste_text): ditto
(ect_init): ditto
* gal/a11y/e-table/gal-a11y-e-cell.c (eti_grab_focus): added cast
(eti_grab_focus): ditto
(eti_grab_focus): return TRUE (grab was successful)
added #include <atk/atkstateset.h>
* gal/a11y/e-table/gal-a11y-e-tree.c: added #include
"gal-a11y-e-table-item.h"
(gal_a11y_e_tree_new): removed unused variable
* gal/e-text/e-text.c (_do_tooltip): removed unused variable
(e_text_event): added cast
(primary_clear_cb): removed unused variable
(_get_position): ditto
(_get_position): ditto
#if 0'ed unused prototypes
* gal/e-text/e-text-model.c (e_text_model_real_insert_length):
removed unused variables
* gal/e-text/e-completion.c (e_completion_sort): #if'0 ed, as it's
not used anywhere
* gal/widgets/e-reflow.c (items_inserted): remove unused variables
* gal/widgets/e-categories.c (e_categories_get_property): remove
unused variable
* gal/widgets/e-categories-master-list-dialog.c
(dialog_destroyed): added cast
* gal/widgets/e-categories-master-list-combo.c
(ecmlc_ecml_changed): remove unused variable
* gal/widgets/color-palette.c: include string.h for memset
prototype
svn path=/trunk/; revision=26289
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-05-13 Chris Toshok <toshok@ximian.com>
[ fixes several utf8/pango related problems, including bugs
#41288, #42596, #42604 ]
* configure.in (GAL_CURRENT): bump to 3, per mkestner.
(GAL_REVISION): drop to 0, per mkestner.
* gal/e-text/e-text.c (reset_layout_attrs): we need to convert the
start/end bounds of the object to byte indices for the attribute.
(reset_layout): in the layout == NULL case don't create the layout
then immediately set it again with the same text. also, we need
to convert selection_start to a byte index before calling
pango_layout_get_cursor_pos.
(e_text_draw): remove some #ifdef 0'd code, move the calculation
of our initial clip_rect below the xpos/ypos assignments so we
don't duplicate the expression. Fix the selection drawing in the
multiline case so that it actually works, instead of assuming that
all ETexts only have 1 line *boggle*.
(get_position_from_xy): this needs to return a utf8 offset.
(e_text_copy_clipboard): convert sel_start/sel_end to byte indices
before copying.
(primary_get_cb): same.
(paste_received): validate the input here, and drop the length
parameter from e_text_insert.
(next_word): convert from an utf8 offset on entry to this
function, and return a utf8 offset when we're done. also, remove
the call the g_unichar_validate. we validate at all points where
text is inserted.
(find_offset_into_line): new function used in the backward/forward
line code. find the utf8 offset into a line (the number of utf8
characters from a prior \n or beginning of the string.)
(_get_position): in general there are lots of changes here because
text->selection_start/text->selection_end are utf8 offsets, not
byte offsets. fix E_TEP_START_OF_LINE so that hitting Ctrl-a when
you're at the beginning of a line doesn't take you to the
beginning of the previous line. fix E_TEP_END_OF_LINE in an
analogous fashion. for E_TEP_FORWARD_CHARACTER we just increment
by 1. for E_TEP_BACKWARD_CHARACTER we just decrement by 1. for
E_TEP_BACKWARD_WORD we drop the g_unichar_validate call and
simplify things a bit. reimplement
E_TEP_FORWARD_LINE/E_TEP_BACKWARD_LINE so they find the current
offset into the line, then scan forward/backward for the next/prev
line, and put us at the right offset on that line. fix
E_TEP_SELECT_WORD so double clicking in the space between words
doesn't select both words - if you double click on the trailing
edge of the space, it selects the next word. leading edge selects
the previous one. for E_TEP_SELECT_ALL use g_utf8_strlen.
(e_text_insert): everything that calls this passes a \0 terminated
string, so we assume it's \0 terminated (the old code did as well,
with calls to strlen) and drop the length parameter. also make
sure this is all utf8 happy.
(capitalize): use g_utf8_offset_to_pointer instead of just adding
text->text and start/end, and remove the validate call. also fix
the call to e_text_model_delete and use e_text_model_insert_length
instead of e_text_model_insert.
(e_text_command): for E_TEP_INSERT, validate the input. for
E_TEP_CAPS just use MAX instead of the neat little hack. also,
fix the scrolling so that it scrolls properly in both X and Y
directions (there are still some hiccups but it's much much better
than previously).
(e_text_commit_cb): validate the input here.
* gal/e-text/e-text-model.c (struct _ETextModelPrivate): just use
a GString here and get rid of MAX_LENGTH.
(e_text_model_dispose): free GString.
(e_text_model_real_validate_position): clean this up a bit.
(e_text_model_real_get_text): return the contents of the GString.
(e_text_model_real_get_text_length): use g_utf8_strlen here.
(e_text_model_real_set_text): convert to GString
(e_text_model_real_insert): just call e_text_model_insert_length
here instead of duplicating the function.
(e_text_model_real_insert_length): convert to utf8/gstring.
i.e. convert @position and @length to a bytes and use
g_string_insert_len.
(e_text_model_real_delete): same, with g_string_erase.
(e_text_model_get_text_length): use g_utf8_strlen
(e_text_model_strdup_nth_object): convert the length of the object
to bytes before copying.
(e_text_model_get_nth_object_bounds): calculate start/end properly
for u
svn path=/trunk/; revision=21163
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-16 Chris Toshok <toshok@ximian.com>
* gal/widgets/e-reflow.c (e_reflow_class_init): fix c&p typo.
* gal/widgets/e-categories-master-list-dialog.c: switch to
GtkDialogism's.
* gal/widgets/gal-categories.[ch]: same.
* gal/widgets/e-categories-master-list-dialog.glade: libglade-convert.
* gal/widgets/e-categories.glade: same.
* gal/util/e-text-event-processor.[ch]: subclass this from
GObject.
* gal/util/e-text-event-processor-emacs-like.[ch]: clean up the
gtk cruft a bit.
* gal/e-text/e-text.c (_get_tep): remove the _sink call.
(e_text_init): same.
* gal/e-text/e-text-model.[ch]: subclass this from GObject instead
of GtkObject.
svn path=/trunk/; revision=18808
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-11-16 Chris Toshok <toshok@ximian.com>
* gal/e-text/e-completion-test.c: Lots of GObject work.
* gal/e-text/e-completion-view.[ch]: same.
* gal/e-text/e-completion.[ch]: same.
* gal/e-text/e-entry.[ch]: same.
* gal/e-text/e-table-text-model.[ch]: same.
* gal/e-text/e-text-model-uri.[ch]: same.
* gal/e-text/e-text-model.[ch]: same.
* gal/e-text/e-text-test.c: same.
* gal/e-text/e-text.[ch]: same.
svn path=/trunk/; revision=18800
|
|
|
|
|
|
| |
merging the gal-2 branch back to the trunk.
svn path=/trunk/; revision=18471
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-26 Christopher James Lahey <clahey@ximian.com>
* gal/e-paned/e-hpaned.c, gal/e-paned/e-hpaned.h,
gal/e-paned/e-paned.c, gal/e-paned/e-paned.h,
gal/e-paned/e-vpaned.c, gal/e-paned/e-vpaned.h,
gal/e-text/e-completion-match.c, gal/e-text/e-completion-match.h,
gal/e-text/e-completion-test.c, gal/e-text/e-completion-view.c,
gal/e-text/e-completion-view.h, gal/e-text/e-completion.c,
gal/e-text/e-completion.h, gal/e-text/e-entry-test.c,
gal/e-text/e-entry.c, gal/e-text/e-entry.h,
gal/e-text/e-table-text-model.c, gal/e-text/e-table-text-model.h,
gal/e-text/e-text-model-repos.c, gal/e-text/e-text-model-repos.h,
gal/e-text/e-text-model-test.c, gal/e-text/e-text-model-uri.c,
gal/e-text/e-text-model-uri.h, gal/e-text/e-text-model.c,
gal/e-text/e-text-model.h, gal/e-text/e-text.c,
gal/e-text/e-text.h, gal/util/e-bit-array.c,
gal/util/e-bit-array.h, gal/util/e-cache.c, gal/util/e-cache.h,
gal/util/e-iconv.c, gal/util/e-iconv.h, gal/util/e-sorter-array.c,
gal/util/e-sorter-array.h, gal/util/e-sorter.c,
gal/util/e-sorter.h, gal/util/e-text-event-processor-emacs-like.c,
gal/util/e-text-event-processor-emacs-like.h,
gal/util/e-text-event-processor-types.h,
gal/util/e-text-event-processor.c,
gal/util/e-text-event-processor.h, gal/util/e-util.c,
gal/util/e-util.h, gal/util/e-xml-utils.c, gal/util/e-xml-utils.h,
gal/widgets/color-group.c, gal/widgets/color-group.h,
gal/widgets/color-palette.c, gal/widgets/color-palette.h,
gal/widgets/e-canvas-utils.c, gal/widgets/e-canvas-utils.h,
gal/widgets/e-canvas-vbox.c, gal/widgets/e-canvas-vbox.h,
gal/widgets/e-canvas.c, gal/widgets/e-canvas.h,
gal/widgets/e-categories-master-list-array.c,
gal/widgets/e-categories-master-list-array.h,
gal/widgets/e-categories-master-list-combo.c,
gal/widgets/e-categories-master-list-combo.h,
gal/widgets/e-categories-master-list-dialog-model.c,
gal/widgets/e-categories-master-list-dialog-model.h,
gal/widgets/e-categories-master-list-dialog.c,
gal/widgets/e-categories-master-list-dialog.h,
gal/widgets/e-categories-master-list.c,
gal/widgets/e-categories-master-list.h,
gal/widgets/e-categories.c, gal/widgets/e-categories.h,
gal/widgets/e-colors.c, gal/widgets/e-colors.h,
gal/widgets/e-cursors.c, gal/widgets/e-cursors.h,
gal/widgets/e-font.c, gal/widgets/e-font.h,
gal/widgets/e-gui-utils.c, gal/widgets/e-gui-utils.h,
gal/widgets/e-hscrollbar.c, gal/widgets/e-hscrollbar.h,
gal/widgets/e-popup-menu.c, gal/widgets/e-popup-menu.h,
gal/widgets/e-printable.c, gal/widgets/e-printable.h,
gal/widgets/e-reflow-model.c, gal/widgets/e-reflow-model.h,
gal/widgets/e-reflow-sorted.c, gal/widgets/e-reflow-sorted.h,
gal/widgets/e-reflow.c, gal/widgets/e-reflow.h,
gal/widgets/e-scroll-frame.c, gal/widgets/e-scroll-frame.h,
gal/widgets/e-selection-model-array.c,
gal/widgets/e-selection-model-array.h,
gal/widgets/e-selection-model-simple.c,
gal/widgets/e-selection-model-simple.h,
gal/widgets/e-selection-model.c, gal/widgets/e-selection-model.h,
gal/widgets/e-unicode.c, gal/widgets/e-unicode.h,
gal/widgets/e-vscrollbar.c, gal/widgets/e-vscrollbar.h,
gal/widgets/gtk-combo-box.c, gal/widgets/gtk-combo-box.h,
gal/widgets/gtk-combo-stack.c, gal/widgets/gtk-combo-stack.h,
gal/widgets/gtk-combo-text.c, gal/widgets/gtk-combo-text.h,
gal/widgets/test-color.c, gal/widgets/test-e-font.c,
gal/widgets/test-e-font.h, gal/widgets/test-font-loading.c,
gal/widgets/widget-color-combo.c,
gal/widgets/widget-color-combo.h,
gal/widgets/widget-pixmap-combo.c,
gal/widgets/widget-pixmap-combo.h,
src/e-table/e-table-sorted-variable.c, tests/test-define-views.c,
tests/test-shortcut-bar.c, tests/test-table-1.c,
tests/test-tree-1.c, tests/test-tree-2.c, tests/test-tree-3.c,
tests/test-unicode.c: Changed the license announcement at the top
of these files.
svn path=/trunk/; revision=14158
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-11 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-table-text-model.c (e_table_text_model_insert,
e_table_text_model_insert_length, e_table_text_model_delete),
gal/e-text/e-text-model.c (e_text_model_real_insert,
e_text_model_real_insert_length): Use e_strdup_append_strings here
instead of g_strdup_printf because printf("%.*s") is locale
dependent on some systems.
* gal/util/e-util.c (e_strdup_append_strings): New function to
append a bunch of strings with optional lengths.
svn path=/trunk/; revision=13581
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-10-05 Michael Meeks <michael@ximian.com>
* gal/util/e-util.h: add E_OBJECT_CLASS_ADD_SIGNALS and
E_OBJECT_CLASS_TYPE to ease migration to Gnome 2.0 from
a single source base.
* All C files:
s/object_class->type,/E_OBJECT_CLASS_TYPE (object_class),/g;
s/gtk_object_class_add_signals([^\(]*)\(([^,]*),([^,]*),([^\)]*)/
E_OBJECT_CLASS_ADD_SIGNALS\1(\2,\3,\4/;
svn path=/trunk/; revision=13428
|
|
|
|
|
|
|
|
|
| |
2001-10-02 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text-model.c (MAX_LENGTH): Added a max length of
2047 to the standard ETextModel. Fixes Ximian bug #3021.
svn path=/trunk/; revision=13298
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-08-09 Jon Trowbridge <trow@ximian.com>
* configure.in: Bumped version up to 0.10.99.2.
* gal/e-text/e-entry.c (e_entry_class_init): Added
"completion_popup" signal.
(e_entry_show_popup): Emit "completion_popup" signal if the popup
has appeared or disappeared.
(e_entry_enable_completion_full): Listen for "cancel_completion"
signals from our model, and disable our completion if get one.
(e_entry_completion_popup_is_visible): Added. Returns TRUE if the
completion popup is on the screen.
* gal/e-text/e-text-model.c (e_text_model_class_init): Added
"cancel_completion" signal.
(e_text_model_cancel_completion): Added. Emits
"cancel_completion" signal.
svn path=/trunk/; revision=11824
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-04-04 Kjartan Maraas <kmaraas@gnome.org>
* gal/e-text/e-entry.c: Fix headers.
* gal/e-text/e-table-text-model.[ch]: Ditto.
* gal/e-text/e-table-text-model-uri.c: Ditto.
* gal/e-text/e-text-model-uri.[ch]: Ditto.
* gal/e-text/e-text-model.[ch]: Ditto.
* gal/e-text/e-text.[ch]: Ditto.
* gal/util/e-text-event-processor-emacs-like.[ch]: Ditto.
* gal/util/e-text-event-processor.[ch]: Same.
* gal/util/e-util.h: Ditto.
* gal/util/e-xml-utils.[ch]: Same here.
* gal/widgets/color-group.[ch]: Ditto.
* gal/widgets/color-palette.[ch]: Ditto.
* gal/widgets/e-canvas-utils.h: Ditto.
* gal/widgets/e-canvas-vbox.[ch]: Ditto.
* gal/widgets/e-canvas.[ch]: Ditto.
* gal/widgets/e-categories.h: Ditto.
* gal/widgets/e-colors.[ch]: Ditto.
* gal/widgets/e-cursors.c: Ditto.
* gal/widgets/e-gui-utils.c: Ditto
* gal/widgets/e-popup-menu.[ch]: Same.
* gal/widgets/e-reflow-sorted.c: Same.
* gal/widgets/e-reflow.[ch]: Same.
* gal/widgets/e-selection-model.c: Same
* gal/widgets/e-unicode.[ch]: Same.
* gal/widgets/gtk-combo-stack.[ch]: Same.
* gal/widgets/widget-color-combo.[ch]: Same.
* gal/widgets/widget-pixmap-combo.[ch]: Same.
svn path=/trunk/; revision=9168
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-12 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-text-model.c (e_text_model_real_insert_length):
Renamed "temp" as "new_text", to avoid confusion.
(e_text_model_real_delete): Renamed "temp" as "new_text", to avoid
confusion.
svn path=/trunk/; revision=8640
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-02-19 Jon Trowbridge <trow@ximian.com>
* gal/e-text/e-entry.c (e_entry_enable_completion_full): Added.
Allows you to attach an ECompletion to an EEntry, and have that
ECompletion be used for (obviously enough) completions.
* gal/e-text/e-completion-view.h, gal/e-text/e-completion-view.c:
Added. ECompletionView is a widget for displaying the results of
a completion request in a format that is appropriate for a
drop-down window.
* gal/e-text/e-completion.h, gal/e-text/e-completion.c: Added.
ECompletion is a "pure virtual base class" for completion-type
operations. It is implemented so that completions can be either
synchronous or asynchronous.
* gal/e-text/e-text.c: Lots of changes to accomodate the
ETextModel changes. First of all, we render embedded text objects
as being underlined. We also cause the model to emit the
appropriate object activation signal when an embedded object is
double-clicked. Also, all of the code that moves the cursor in
response to user input has been removed. Instead, the EText now
listens for "reposition" events from the underlying model, and
bases all cursor motions on those.
(get_bounds_item_relative): Fixed bug in the handling of
differently-anchored text. Being differently-anchored is not a
crime or a perversion --- it is an alternative lifestyle that we
have to respect.
* gal/e-text/e-text-model-uri.h, gal/e-text/e-text-model-uri.c: A
sample ETextModel that converts URIs into embedded objects that
get opened in the browser when you double-click them.
* gal/e-text/e-text-model-repos.h,
gal/e-text/e-text-model-repos.c: Added. A group of simple
structures & functions for handling various cursor movement rules.
These are the sorts of things that are passed as arguments to
ETextModel "reposition" event handlers.
* gal/e-text/e-text-model.h, gal/e-text/e-text-model.c: Privitized
the ETextModel struct and "methodized" all of the operations, so
that derived classes can do arbitrarily respond to get/set
requests in arbitrarily strange ways. Also added the concept of
declaring regions of the text as "embedded text objects".
Finally, caused operations that change the text to emit a
"reposition" signal that passes information that can be used by a
view (like an EText) to move the cursor or selection in an
intelligent way in response to those changes. This means that you
can now open two ETexts that look at the same ETextModel, and have
the cursor in one do the right thing when you edit the other. (As
opposed to producing a lot of potential segfaults, as it was
before.)
svn path=/trunk/; revision=8280
|
|
|
|
|
|
|
|
| |
2001-01-30 Christopher James Lahey <clahey@helixcode.com>
* Reverted the latest change to EText since we're in feature freeze.
svn path=/trunk/; revision=7912
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-29 Jon Trowbridge <trow@gnu.org>
* gal/e-text/e-text.c (e_text_init): Connect to the model's
"position" signal.
(e_text_init): Set default value for rgba_object as blue.
(e_text_destroy): Disconnect model position signal.
(fix_selection): Some extra sanity checking to keep the selection
from spilling outside of the bounds of the text string as it
expands or contracts. Should be obsolete due to the changes to
objectify_uris --- but I'll leave this in here for now, in an
attempt to avoid non-\0-terminated strings, segfaults, and all of
that fun stuff.
(e_text_text_model_position): Move our cursor according to the
suggestions made by our ETextModel, via the "position" signal.
(text_width_with_objects): Check that text is not NULL.
(text_draw_with_objects): Accept an extra GdkGC for use in drawing
objects.
(e_text_set_arg): Properly handle the "position" signal when
changing models.
(e_text_draw): Initialize the GC for drawing objects, if
necessary.
(_insert): Comment out the code that adjustes text->selection_*.
The cursor is now moved by the ETextModel directly via the
position signal, not by the view.
* gal/e-text/e-text-model-uri.c (objectify_uris): Add more
sophisticated uri recognition via regular expressions.
(objectify_uris): Changed to track position changes as model->text
expands and contracts along with the objects. Block the
objectification of any chunks of text that straddle our current
position.
(e_text_model_uri_set_text): Added position info to objectify_uris
call.
(e_text_model_uri_insert): Added position info to objectify_uris
call.
(e_text_model_uri_insert_length): Added position info to
objectify_uris call.
(e_text_model_uri_delete): Added position info to objectify_uris
call.
* gal/e-text/e-text-model.c (e_text_model_class_init): Added a
"position" signal that allows the ETextModel to send cursor
positioning information back to any view. We need this for text
with objects, where the text string can grow and shrink in ways
that the view doesn't expect.
(e_text_model_real_insert): Added sanity checking of args and a
position emission.
(e_text_model_real_insert_length): Added sanity checking of args
and a position emission.
(e_text_model_real_delete): Added sanity checking of args.
(e_text_model_suggest_position): A wrapper around the "position"
signal emitter.
svn path=/trunk/; revision=7894
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-26 Jon Trowbridge <trow@gnu.org>
* gal/e-text/e-text-model-test.c: Added; a new test program that
demonstrates objects in ETexts.
* gal/e-text/e-text-model-uri.c: Added; a text model that converts
URIs in the text into objects that are passed off to the GNOME URI
handler when activated. This is actually still extremely broken;
I got it just working enough to test out my EText changes.
* gal/e-text/e-text.c: A whole lot of changes, designed to make
ETextModel objects render properly. The basic idea of the changes
is pretty simple, though.
(text_width_with_objects): First of all, this function is an
alternative to e_font_utf8_text_width that takes into the account
the embedded \1s in the text string and properly accounts for the
width of the object strings.
(unicode_strlen_with_objects): Next, this function finds the
proper strlen of a string, expanding the \1s.
(text_draw_with_objects): Finally, this is just a replacement for
e_font_draw_utf8_text that does the right thing for objects. I've
gone through all of e-text.c and replace calls by those original
functions with my new object-enabled alternatives.
(split_into_lines): Some tweaking to get line breaking to work
properly. Made \1 into a "break character", so that we can break
lines between multiple adjacent objects. (Which seemed like the
right thing to do, but there may be cases where that is
undesireable.)
(_get_position_from_xy): Fixed to properly handle embedded
objects, and to get the right selection semantics for objects.
(Or at least semantics that feel right to me.) Also fixed a bug
that caused selection, etc. to not work properly if the text was
anchored anywhere other than with GTK_ANCHOR_NORTH*.
(_get_position): Hacked to cause objects to activate when they are
double-clicked. There is probably a better way to do this.
* gal/e-text/e-text-model.c (e_text_model_real_object_count):
Provide a default implementation of an object counter. Derived
classes might want to override this for efficiency reasons.
(e_text_model_strdup_expanded_text): Added. Allocates and returns
a string contains the model's text with the objects "expanded"
within.
* gal/e-text/e-text-model.h: Added obj_count, get_nth_obj, and
activate_nth_obj virtual methods to ETextModelClass.
svn path=/trunk/; revision=7842
|
|
|
|
|
|
|
|
|
| |
2000-07-09 Christopher James Lahey <clahey@helixcode.com>
* widgets/e-text/e-text-model.c (e_text_model_real_get_text):
Return "" instead of NULL.
svn path=/trunk/; revision=4003
|
|
2000-03-12 Christopher James Lahey <clahey@helixcode.com>
* widgets/Makefile.am: Rearranged SUBDIRS for dependencies.
* widgets/e-text/e-text-model.c, widgets/e-text-model.h: New
object which stores a piece of text data. All methods are
virtual.
* widgets/e-text/e-text.c, widgets/e-text/e-text.h: Modified this
to use an ETextModel for its data.
* widgets/e-text/Makefile.am: Added e-text-model.c and e-text-model.h.
* widgets/e-minicard/test-minicard-label.c: Made this work again.
* widgets/e-minicard/e-minicard.c,
widgets/e-minicard/e-minicard.h: Made this use an ETableModel to
get its data.
* widgets/e-minicard/e-minicard-label.c,
widgets/e-minicard/e-minicard-label.h: Added the ability to set
the text model used for the contained text widget.
* widgets/e-minicard/Makefile.am: Added e-table since e-minicard
is now dependent on an e-table-model for its data.
* e-util/e-canvas.c, e-util/e-canvas.h: Fixed some bugs here to
speed up reflow and to make it fail less often.
* addressbook/demo, addressbook/demo/.cvsignore,
addressbook/demo/Makefile.am, addressbook/demo/demo.c,
addressbook/demo/spec: A new program to test ETable and EMinicard
integration.
* configure.in: Added addressbook/demo/Makefile.
* addressbook/Makefile.am: Added the demo/ subdirectory.
in widgets/e-table/:
2000-03-12 Christopher James Lahey <clahey@helixcode.com>
* e-table.c: Made this use an ECanvas. Fixed a bug where
e_table_new_from_spec_file was calling e_table_construct instead
of e_table_construct_from_spec_file.
* e-table-item.c, e-table-header-item.c, e-table-column-item.c:
Switched these to use GTK_TYPE_OBJECT and GTK_VALUE_OBJECT instead
of GTK_TYPE_POINTER and GTK_TYPE_OBJECT.
* e-cell-text.c: Got rid of a crashing bug.
* e-table-text-model.c, e-table-text-model.h: A new object which
is an e-text-model which uses an e-table-model for its data.
* Makefile.am: Added e-table-text-model.c and
e-table-text-model.h.
* .cvsignore: Added table-example-1 and table-example-2.
svn path=/trunk/; revision=2101
|