		Porting MATE 1.0 Applications to MATE 2.0


[this document is still work-in-progress.]

Notation
========

* MODIFIED

  The file/widget/feature has been modified in a source incompatible way,
  but it is possible to reuse old code without completely rewriting it
  (compatibility layer exists, fixable by scripts, ....)

* CHANGED API

  The API of this file/widget/feature has completely changed; it is not
  possible to reuse old code without rewriting at least large parts of it.

* ADDED FUNCTIONALITY

  There is some added functionality over MATE 1.x.

* OBSOLETE

  The file/widget/feature is obsolete and it has been moved to libcompat.

* REMOVED

  The file/widget/feature has been completely removed, it is not in libcompat.
  This normally means that it is easier to fix code which was using this than
  to provide a compatibility layer.

* NEW

  The file/widget/feature is completely new in MATE 2.0.

* UNKNOWN

  I don't know what's up with this.


How to prepare your MATE 1.0 Applications for MATE 2.0
========================================================

There are some things which you can do in your MATE 1.0 Application
to make it easier to port them to MATE 2.0 while still keeping
compatible with the MATE 1.x platform.

We will add some new functions to the stable version of mate-libs
after MATE 1.4 which will help you to archive this. The most important
thing is to use accessor functions rather than accessing widget data
directly whereever it's possible. These new functions will help you
doing this.

* MateEntry - MODIFIED

  - this is isn't a GtkCombo any longer, but a MateSelector.

  The following functions have been removed:

  - mate_entry_gtk_entry()

    MateEntry isn't a GtkCombo/GtkEntry anymore; use
    mate_entry_get_text() and mate_entry_set_text() to access
    the entry text.

  - mate_entry_construct() - you can now use g_object_new() etc.

  The following functions are deprecated:

  - mate_entry_get_history_id, mate_entry_set_history_id
    mate_entry_get_history_id, mate_entry_set_max_saved
    mate_entry_get_max_saved, mate_entry_prepend_history
    mate_entry_append_history, mate_entry_load_history
    mate_entry_save_history, mate_entry_clear_history

    Use the corresponding functions in MateSelector.

  The following new functions have been added:

  - mate_entry_get_text(), mate_entry_set_text()

  These functions will be added to the stable mate-libs after MATE 1.4;
  in all existing code. To prepare things in MATE 1.x:

  - use mate_entry_get/set_text() rather than mate_entry_gtk_entry()

  - try not to access any of the 'changed', 'history_id', 'items' and
    'max_saved' fields in the MateEntry directly, they will be private
    in MATE 2.0.

* MateFileEntry - OBSOLETE

  - this has been replaced by MateFileSelector.

* MateIconEntry - MODIFIED + ADDED FUNCTIONALITY

  - this is now derived from MateFileSelector instead of GtkVBox.
  - previously, the difference between MateIconEntry and MatePixmapEntry
    was that you could specify the size of the preview in a MatePixmapEntry;
    this functionality has been moved into MateIconEntry so that
    MatePixmapEntry is now obsolete.

  The following functions have been removed:

  - mate_icon_entry_construct() - you can now use g_object_new() etc.
  - mate_icon_entry_mate_file_entry(): use parent class
  - mate_icon_entry_mate_entry (): use parent class
  - mate_icon_entry_gtk_entry (): don't suck things out of this directly

  The following functions are deprecated:

  - mate_icon_entry_set_pixmap_subdir(): Fixme, Fixme.
  - mate_icon_entry_set_icon(): use mate_selector_set_uri().

  The following new functions have been added:

  - mate_icon_entry_get_icon_selector ()
  - mate_icon_entry_set_preview_size (): formerly in MatePixmapEntry.

  Other source incompatible changes:

  - `fentry', `pickbutton', `pick_dialog', `pick_dialog_dir' have been
    removed from the MateIconEntry instance struct.

* MatePixmapEntry - OBSOLETE

  - this has been obsoleted by MateIconEntry.

  - we can implement this in libcompat, but I don't think this is necessary;
    all you need to do to get a pixmap entry is something like

    pentry = g_object_new (mate_icon_entry_get_type (),
			   "preview_x", 200, "preview_y", 200,
			   "is_pixmap_entry", TRUE,
			   NULL);

    and it will look and behave like the old MatePixmapEntry.

    [FIXME: We may want to rename MateIconEntry -> MatePixmapEntry.]

* MateCalculator - REMOVED

  - this has been moved to libcompat for the moment; it should go somewhere
    else, but not in libmateui.

* MateNumberEntry - REMOVED

  - this was using MateCalculator and has been moved to libcompat as well.

* MateProcBar - REMOVED

  - this was only used in GTop and some applets; it has been moved into GTop.
  - the three applets will be moved into GTop as well to share some code with
    it for MATE 2.0.

* mate-properties, mate-property-entries - REMOVED

  - this was only used in GTop and some applets; it is totally obsolete due
    to MateConf.

* MateAbout - ADDED FUNCTIONALITY

  - some things have been added; it doesn't look finished to me.

* MateAnimator - UNKNOWN

  - I think this should be removed from libmateui.

* MateAppBar - MODIFIED

  The following functions have been renamed:

  - mate_appbar_set_progress() -> mate_appbar_set_progress_percentage().

  The following new functions have been added:

  - mate_appbar_get_status()

  Other source incompatible changes:

  - all fields have been removed from the MateAppBar instance struct.

* mate-dentry-edit - OBSOLETE

* mate-dns - OBSOLETE

* mate-guru - OBSOLETE

* mate-spell - OBSOLETE

* mate-startup - OBSOLETE

* gtkcauldron - OBSOLETE

* mate-druid-page-start, mate-druid-page-finish: OBSOLETE

* gtk-ted - REMOVED

* mate-font-selector - OBSOLETE

* mate-color-picker - MODIFIED

  The following functions have been added:

  - mate_color_picker_get_dither ()
  - mate_color_picker_get_use_alpha ()
  - mate_color_picker_get_title ()
 
  - all fields have been removed from the MateColorPicker instance struct.

* mate-date-edit - MODIFIED

  - all fields have been removed from the MateDateEdit instance struct.

  The following functions have been renamed:

  - mate_date_edit_get_date() -> mate_date_edit_get_time()

  The following functions have been added:

  - mate_date_edit_get_initial_time()

- mate-font-picker - MODIFIED

  - private fields have been removed from the MateFontPicker instance struct.

  The following functions have been added:

  - mate_font_picker_get_font_name()

- mate-href - MODIFIED

  - all fields have been removed from the MateHRef instance struct.

  The following functions have been renamed:

  - mate_href_get_label() -> mate_href_get_text()
  - mate_href_set_label() -> mate_href_set_text()

- mate-icon-list - MODIFIED and ADDED FUNCTIONALITY

  - all fields have been removed from the MateIconList instance struct.

  The following functions have a different API:

  - mate_icon_list_new() - removed `GtkAdjustment *adj' argument
  - mate_icon_list_unselect_all() - removed `GdkEvent *event' and
  `gpointer keep' arguments.

  The following functions have been removed:

  - mate_icon_list_new_flags()
  - mate_icon_list_set_hadjustment()
  - mate_icon_list_set_vadjustment()
  - mate_icon_list_insert_imlib()
  - mate_icon_list_append_imlib()

  The following new functions have been added:

  - mate_icon_list_insert_pixbuf()
  - mate_icon_list_append_pixbuf()
  - mate_icon_list_get_selection_mode()
  - mate_icon_list_get_selectinon()
  - mate_icon_list_get_icon_filename()
  - mate_icon_list_find_icon_from_filename()

* mate-icon-sel - OBSOLETE

  Use MateIconSelector.


Last changed Feb 25, 2001.
Martin Baulig <baulig@suse.de>
George Lebl <jirka@5z.com>
