Commit Graph

71 Commits

Author SHA1 Message Date
254a2031dd Changed gnome_canvas_item_grab_focus to e_canvas_item_grab_focus.
2000-03-21  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.c: Changed gnome_canvas_item_grab_focus to
        e_canvas_item_grab_focus.

svn path=/trunk/; revision=2138
2000-03-21 23:58:40 +00:00
f60b9107e9 Added the ability to access the text event processor.
2000-03-20  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Added the
        ability to access the text event processor.

2000-03-13  Christopher James Lahey  <clahey@helixcode.com>

        * addressbook/demo/addressbook-widget.c: Made the addressbook
        component look in the users home directory for the addressbook.xml
        file.

svn path=/trunk/; revision=2125
2000-03-21 02:53:55 +00:00
1f7ba945b1 Rearranged SUBDIRS for dependencies.
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
2000-03-12 07:59:42 +00:00
0a908b7fe4 Designed a new system for doing hierarchical displays in the canvas. Adds
2000-03-10  Christopher James Lahey  <clahey@helixcode.com>

        * e-util/e-canvas.c, e-util/e-canvas.h: Designed a new system for
        doing hierarchical displays in the canvas.  Adds an extra idle
        loop to the canvas system.

        * widgets/e-minicard/e-minicard.c,
        widgets/e-minicard/e-minicard-label.c,
        widgets/e-minicard/e-minicard-label.h,
        widgets/e-minicard/e-reflow.c, widgets/e-minicard/test-reflow.c,
        widgets/e-text/e-text.c, widgets/e-text/e-text.h: Adapted to use
        the new e-canvas reflow system.

svn path=/trunk/; revision=2096
2000-03-11 00:32:15 +00:00
6f357b4c2d Added a "break_characters" argument. It lets you define a set of
2000-03-07  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Added a
        "break_characters" argument.  It lets you define a set of
        characters which should cause optional linebreaks to occur.  Made
        setting the "clip_height" argument to -1 mean no height clipping.
        Moved calling the "resize" signal into an idle handler to avoid
        reentering the canvas update loop.  Made EText recalc bounds if
        the affine has changed.  Fixed up tooltip_count (this counts the
        number of ENTER and LEAVE events.)

        * widgets/e-text/e-text-test.c: Got rid of a few warnings.

        * widgets/e-minicard/e-minicard-label.h: Reindent a few lines.

        * widgets/e-minicard/e-minicard.c,
        widgets/e-minicard/e-minicard-label.c: Switch from using "x" and
        "y" to set the children's position to using
        e_canvas_item_move_absolute.

svn path=/trunk/; revision=2079
2000-03-08 01:41:47 +00:00
2fa1ed2506 Don't show the tooltip if the text is being editted or isn't clipped.
2000-02-29  Iain Holmes  <ih@csd.abdn.ac.uk>

	* widgets/e-text/e-text.c: Don't show the tooltip if the text is being
	editted or isn't clipped. Remove the tooltip when editting starts.

	* widgets/e-text/Makefile.am: Build the test program

svn path=/trunk/; revision=1994
2000-02-29 21:43:45 +00:00
ef7adb93eb Compilation error.
2000-02-28  Chris Lahey  <clahey@umich.edu>

        * widgets/e-text/e-text.c: Compilation error.

svn path=/trunk/; revision=1973
2000-02-28 09:10:37 +00:00
486e3906ec Updated these to use the canvas ::update system properly.
2000-02-28  Chris Lahey  <clahey@umich.edu>

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Updated these
        to use the canvas ::update system properly.

svn path=/trunk/; revision=1972
2000-02-28 09:03:20 +00:00
7699b8996a This were moved to widgets/e-text/ a while ago but never removed. They
2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text.c, widgets/e-text.h, e-text-event-processor.c,
        e-text-event-processor.h, e-text-event-processor-emacs-like.c,
        e-text-event-processor-emacs-like.h,
        e-text-event-processor-types.h: This were moved to widgets/e-text/
        a while ago but never removed.  They have now been removed.

        * widgets/e-text/e-text.c, widgets/e-text/e-text.h: Removed some
        warnings from this file.  Made tooltips disappear when you're
        finished with them.

        * widgets/e-minicard/test-reflow.c,
        widgets/e-minicard/test-minicard.c,
        widgets/e-minicard/test-minicard-label.c: Commented out unused
        about_callback functions.

        * widgets/e-minicard/e-reflow.c: Made e-reflow pass an EFocus to
        its e-minicard children.

        * widgets/e-minicard/e-minicard.c: Made e-minicard take and return
        an EFocus for its "has_focus" argument.  This makes shift-tab work properly.

        * widgets/e-minicard/e-minicard-label.c: Made e-minicard-label take and return
        an EFocus for its "has_focus" argument.  Made the font that
        e-minicard-label uses only be allocated once.

        * e-util/e-canvas-utils.h: Fixed the comment at the top and added
        #ifndef __E_CANVAS_UTILS__.

        * e-util/Makefile.am: Added e-xml-utils.c and
        e-xml-utils.h.

        * e-util/e-xml-utils.h, e-util/e-xml-utils.c: Added files for some
        xml utilities.

        * e-util/e-util.h: Added type EFocus which describes which
        direction the focus will be coming from.


in mail:

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * message-list.c: Changed this to not use the "x" and "y"
        arguments to e-table-item.


in widgets/e-table:

2000-02-24  Christopher James Lahey  <clahey@helixcode.com>

        * e-table-subset-variable.c, e-table-subset-variable.h: A new
        model which is a subset, but you can add and remove rows.

        * test-table.c: Added a thaw method for use with the
        e-table-subset (emits model_changed.)  Adapted to the changes to
        e_table_item.  Properly parse headers.  Adapted to the changes to
        e_table, including creating example xml spec data.

        * test-cols.c, test-check.c: Added a thaw method for use with the
        e-table-subset (emits model_changed.)  Adapted to the changes to
        e_table_item.

        * e-table.c, e-table.h: Reworked e-table to use the ETable
        grouping system.  The only difference for the interface is that
        instead of passing in a column_spec and a grouping_spec, you pass
        in a single string that is an xml format that includes both pieces
        of information.

        * e-table-subset.h: Added rules for emacs to do correct
        indentation.

        * e-table-subset.c: Implemented freezing.  No signals are emitted
        while frozen and "model_changed" is emitted when thawed.

        * e-table-sorted.h: ETableSortedClass has ETableSubset as its
        parent object instead of ETableSubsetClass.  Fixed this.

        * e-table-simple.c, e-table-simple.h: Implemented the thaw method.
        Use of simple now requires an extra argument (the thaw method.)

        * e-table-model.h, e-table-model.c: Added e_table_model_freeze and
        e_table_model_thaw.

        * e-table-item.h, e-table-item.c: Reworked this a bit to make it
        provide some things the new group system needed and to make
        inter-item keyboard focus work.  Changed the external interface
        only in the list of arguments it recognizes and signals it emits.
        Instead of "x" and "y", you have to use
        e_canvas_item_move_absolute and instead of emitting a
        "height_changed" signal, it emits a "resize" signal.  There's new
        "has_focus", "width", and "height" arguments and a function to get
        the currently focused column.

        * e-table-header-item.c: Got rid of some warnings here.  Changed
        the

        * e-table-group-leaf.h, e-table-group-leaf.c,
        e-table-group-container.h, e-table-group-container.c: New types to
        make e_table_group work properly.

        * e-table-group.h, e-table-group.c: Completely reworked e-table
        grouping.  e-table-group now uses a hierarchical structure.

        * e-cell.h: Added e_cell_print.  This doesn't work yet.

        * e-cell.c: Made e_cell_realize exist.  (It was improperly named
        e_cell_view_realize in the .c.)

        * e-cell-text.c: Made the blinking cursor disappear properly.

        * check-filled.xpm, check-empty.xpm: Made these const char *[]
        instead of char *[] to avoid compiler warnings.

        * Makefile.am: Added e-table-group-container.c,
        e-table-group-container.h, e-table-group-leaf.c,
        e-table-group-leaf.h, e-table-subset-variable.c,
        e-table-subset-variable.h.

svn path=/trunk/; revision=1915
2000-02-24 06:51:23 +00:00
113c276df8 Show the text of the item, in a tooltip style. (e_text_event): Add a
2000-02-20  Iain Holmes  <ih@csd.abdn.ac.uk>

	* widgets/e-text/e-text.[ch] (_do_tooltip): Show the text of the item,
	in a tooltip style.
	(e_text_event): Add a timeout on the Enter and remove it on the Leave
	events.

	* e-text-test.c: New file to test e-text items.

svn path=/trunk/; revision=1866
2000-02-20 16:17:08 +00:00
88dec7a258 Made a click on a text widget set the cursor properly.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.c (e_text_event): Made a click on a text
        widget set the cursor properly.

svn path=/trunk/; revision=1740
2000-02-12 01:07:15 +00:00
1a44ff0e97 Added line wrap and a max number of lines (max number of lines is only
2000-02-07  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text.h, widgets/e-text.c: Added line wrap and a max
        number of lines (max number of lines is only obeyed if text is not
        being edited).

svn path=/trunk/; revision=1691
2000-02-08 03:15:56 +00:00
12ba6679ac Handle the grab and ungrab command instead of doing focus by hand. This
2000-01-28  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text.c (e_text_command): Handle the grab and ungrab
        command instead of doing focus by hand.  This fixes a problem
        related to the scroll wheel.
        (e_text_command): Reset the blink timer in many more command
        situations so that the cursor blinks less when you're interacting
        with it.

        * widgets/e-text-event-processor-emacs-like.c: Send the grab focus
        command when starting a selection and the ungrab focus command
        when ending it.

        * widgets/e-text-event-processor-types.h: Added grab command type
        so that the event processor can tell the widget to grab the focus.

        * widgets/e-reflow.c: Redefined all sizes using #defines so that
        they can be tweaked later.  Added scroll wheel handling and set up
        adjustment increments so that the scroll bars will work correctly.

        * widgets/e-minicard.h: Added minicard focus type enum.  This
        doesn't mean anything yet, but it will later be used to say which
        direction the focus is coming from (below for shift-tab, above for
        tab.)

svn path=/trunk/; revision=1650
2000-01-28 06:03:48 +00:00
bbcecaf6b7 Added an arrow cursor for the draggable columns. Made the clickable column
2000-01-27  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-reflow.h, widgets/e-reflow.c: Added an arrow cursor
        for the draggable columns.  Made the clickable column area
        larger.

        * widgets/e-text.h, widgets/e-text.c: Added an I beam cursor for
        the text item when it is editable.

        * widgets/e-minicard-label.c: Forward enter and leave
        notifications to the contained editable text item.

svn path=/trunk/; revision=1647
2000-01-26 11:26:07 +00:00
804e7e17bf Finishing previous commit.
svn path=/trunk/; revision=1582
2000-01-17 09:13:45 +00:00
4ac908c6ff Added selection and clipboard support. Added up and down arrow keys. Fixed
* widgets/e-text-event-processor-types.h,
        widgets/e-text-event-processor-emacs-like.c, widgets/e-text.c,
        widgets/e-text.h: Added selection and clipboard support.  Added up
        and down arrow keys.  Fixed choice of font colors for the
        selection to be based on the current style.

        * widgets/e-minicard.c: Caused a click to grab the focus.  Changed
        the fake information added.

        * widgets/e-minicard-label.c: Forward mouse events to the field
        EText item.

svn path=/trunk/; revision=1568
2000-01-14 05:18:59 +00:00
f5347f59ff e_canvas_item_move_absolute is just a helper function not supplied by the
* widgets/e-canvas-utils.c, widgets/e-canvas-utils.h:
        e_canvas_item_move_absolute is just a helper function not supplied
        by the gnome_canvas.[ch] I put it here so that multiple items can
        use it.

        * widgets/e-reflow.c, widgets/e-reflow.h: This item contains a
        number of other items and places them into multiple columns.  The
        items contained must support a number of arguments and signals to
        allow the reflow to interact with them.

        * widgets/test-reflow.c: This is a test program for e-reflow.

        * widgets/e-text.c, widgets/e-text.h: Added properly drawn
        selected text.  Added some preliminary code for X selection
        handling and cut & paste.

        * widgets/e-minicard.c, widgets/e-minicard.h: Added ARG_HAS_FOCUS
        handling.  Made label display random for more interesting tests of
        multiple cards.  Tweaked sizing information for better display.

        * widgets/e-minicard-label.c, widgets/e-minicard-label.h: Added
        ARG_HAS_FOCUS handling.

        * widgets/Makefile.am: Added the reflow test and reflow files.

svn path=/trunk/; revision=1566
2000-01-13 22:01:23 +00:00
4d2a782588 Added a resize signal for when the card changes height. Made it so that
* widgets/e-minicard.c, widgets/e-minicard.h: Added a resize
        signal for when the card changes height.  Made it so that when you
        press tab inside of a field, it goes to the next field.

        * widgets/e-minicard-label.c, widgets/e-minicard-label.h: Added a
        resize signal for when the label changes height.

        * widgets/e-text.c, widgets/e-text.h: Added a resize signal for
        multiple lines.  Added scrolling based on cursor position.

        * widgets/Makefile.am: Removed an extraneous build target.

svn path=/trunk/; revision=1562
2000-01-12 05:05:30 +00:00
a097129f68 Blocked the tab key from getting inserted into the buffer since the
* widgets/e-text-event-processor-emacs-like.c: Blocked the tab key
	from getting inserted into the buffer since the renderer doesn't
	know what a tab is.

	* widgets/e-text.c, widgets/e-text.h: Fixed a memory leak.  Added
	a blinking cursor and scrolling for the text item.

svn path=/trunk/; revision=1554
2000-01-11 22:10:20 +00:00
a01de808cd Removed some code which got in the way of testing properly.
* widgets/test-minicard.c: Removed some code which got in the way
        of testing properly.

        * widgets/e-minicard-label.c (e_minicard_label_realize): Made the
        field text item editable.

        * widgets/Makefile.am: Added e-text-event-process*.[ch].

        * widgets/e-text.c, widgets/e-text.h: Changed these to support
        editing.

        * widgets/e-text-event-processor.c,
        widgets/e-text-event-processor.h,
        widgets/e-text-event-processor-types.h,
        widgets/e-text-event-processor-emacs-like.c,
        widgets/e-text-event-processor-emacs-like.h: These are a new pair
        of classes which handle all events from the text item and convert
        them into commands.

svn path=/trunk/; revision=1553
2000-01-11 06:44:57 +00:00
b2a25c6add Added minicard and text stuff.
* widgets/Makefile.am: Added minicard and text stuff.

	* widgets/e-minicard.c, widgets/e-minicard.h,
	widgets/e-minicard-label.c, widgets/e-minicard-label.h: Added
	canvas items for the minicard view in the contact manager.

	* widgets/test-minicard.c, widgets/test-minicard-label.c: Tests
	for the minicard items.

	* widgets/e-text.h, widgets/e-text.c: New canvas item.  Based on
	GnomeCanvasText.  Adds ellipsis capabilities.  Used in
	e-minicard*.[ch].

	* widgets/.cvsignore: Added minicard-test and minicard-label-test.

svn path=/trunk/; revision=1552
2000-01-10 04:55:48 +00:00