    To report Gnumeric bugs, please visit bugzilla.gnome.org.

    This file is used as a scratch pad by developers.  It is a list of known
issues that need to be addressed.  Divided into, things that will prevent
release, and longer term bugs.

-------------------------------------------------------------------------------
Release Critical
----------------

    : Use GNOME Recent for the gnome build
    : tie the custom ui into action sensitivity pools
    : kasal's popt patch
    : support array evaluation for =LARGE and friends
    http://bugzilla.gnome.org/show_bug.cgi?id=159581
    : undo has dep leaks

Worries
-------
    : provide undo for dropped objects from sheet_objects_clear
    : undo of pasting copy/cut of objects
    : Select graph, Copy, and paste to Emacs: used to crash, but now it
    just g_barfs and pastes empty string.

    : editing text boxes (do a derived FooCanvasEditableTextItem)
      we can steal some of the xim support from item-edit.

    http://bugzilla.gnome.org/show_bug.cgi?id=152528
    : No crash when reading broken xls
    http://bugzilla.gnome.org/show_bug.cgi?id=152317
    : Warning of possible dataloss loading into XP
      Looks like XL charts do not like non-trivial expressions for series names
    http://bugzilla.gnome.org/show_bug.cgi?id=151610
    : No longer crashes, but we mis-import multiple axis sets
    : Delete grid then edit chart and see a new grid

    http://bugzilla.gnome.org/show_bug.cgi?id=144112
    : fraction matching

    : F4 is not working {gtk #151541, fixed 2004-11-28, 2.5.6)

    http://bugzilla.gnome.org/show_bug.cgi?id=151610
    : crash 	: fixed
    : we mis-import multiple axis sets

    : The only way to unhide column A seems to be to select the entire sheet
    and unhide.  Not elegant.  We could, perhaps, when a single column is
    selected add "Unhide column to the left" and "... right" to the context
    menu (when relevant).

    : HARMEAN with no arguments (or just strings/booleans) should yield N/A,
      not NUM.
    : MAXA,MINA with no arguments should yield N/A, not NUM.
    : STDEVPA,VARPA with no arguments should yield VALUE, not DIV0.
    : STDEVA,VARA with 0-1 arguments should yield DIV0, not VALUE.
    : DEVSQ with no arguments should yield #NUM, not zero.

After Branch
------------
    - http://bugzilla.gnome.org/show_bug.cgi?id=162951 : trivial
    - http://bugzilla.gnome.org/show_bug.cgi?id=162952 : trivial
    - Add a note to the SUMPRODUCT docs that
	sumproduct(A1:A5>4,B1:B4) will not work and that they will
	need
	sumproduct(--(A1:A5>4),B1:B4)

-------------------------------------------------------------------------------
Blocked Patches
---------------

    http://bugzilla.gnome.org/show_bug.cgi?id=84062
    - XIM menu, blocking on gtk changes
    http://bugzilla.gnome.org/show_bug.cgi?id=126513
    - handling of character encoding in stf export

-------------------------------------------------------------------------------
Architecture Changes
--------------------

- Merge wbc_init_state and wbc_set_view

1) Format and number match rewrite
2) Font handling (move to GOFont)
3) Rework plugin system down to libgoffice.	{in progress not for 1.3)
4) Function docs
    4.1) Use multiple tagged paragraphs
5) GtkUIManager
    5.1) Convert Stock menus					(DONE)
    5.2) Convert basic Std toolbar				(DONE)
    5.3) Convert Object toolbar					(DONE)
    5.4) Convert basic Format toolbar				(DONE)
    5.5) GOActionComboText
	5.5.1) stub						(DONE)	
	5.5.2) Move to TreeModel to simplify sharing
	5.5.3) Support custom menu item
    5.6) GOActionStack (undo/redo)				(DONE)
	5.6.1) stub						(DONE)	
	5.6.2) Move to TreeModel to simplify sharing		(DONE)
	5.6.3) Support custom menu item				(DONE)
	5.6.4) Emit activate for toolbar			(DONE)
	5.6.5) Emit activate for menu				(DONE)
    5.7) GOActionPixmaps (border)				(DONE)
	5.7.1) stub						(DONE)	
	5.7.2) Add some events					(DONE)
	5.7.3) Support custom menu item				(DONE)
	5.7.4) Make menu item actually appear			(DONE)
    5.8) GOActionColor
	5.8.1) stub						(DONE)	
	5.8.2) Support custom menu item				(DONE)
	5.8.3) Improve finger feel				(DONE)
	5.8.4) emit activate for toolbar			(DONE)
	5.8.5) emit activate for menu				(DONE)
	5.8.6) history buttons in menu				(DONE)
	5.8.7) think about custom button			(DONE)
	5.8.8) custom button in menu				(DONE)
	5.8.9) sync proxies					(DONE)
	5.8.10) Use GtkColorSelector				(DONE)
	5.8.11) Use GOColor in action				(DONE)
	5.8.12) Use GOColor in combo				(DONE)
	5.8.13) Cleanup						(DONE)
	5.8.14) why is first custom colour not displayed	(DONE)
	5.8.15) Better cursor
    5.9) Move the hard coded accelerators out of		(DONE)
	canvas into actions
    5.10) Add indent/unindent icons to gtk			(DONE)
	5.10.1) Patch written					(DONE)
	5.10.2) Patch accepted into gtk				(DONE)
    5.11) File History						(DONE)

8) Rich Text
    8.1) font actions valid while editing			(DONE)
    8.2) accumulate markup from toolbar while editing		(DONE)
    8.3) display the marked-up content in edit-item		(DONE)
    8.4) maintain consistency when text deleted			(DONE)
    8.5) maintain consistency when text inserted		(DONE)
    8.6) Keep a 'current' format that changes with edit_pos	(DONE)
    8.7) Store the markup in a value fmt			(DONE)
    8.8) Update fmt action state as cursor moves		(DONE)
    8.9) extended rendered value to use the markup in fmts	(DONE)
    8.10) Use existing markup when editing a cell		(DONE)
    8.11) Persist markup as pseudo format			(DONE)
    8.12) Parse markup in pseudo format				(DONE)
    8.13) xls
	8.13.1) import from RSTRING				(DONE)
	    8.13.1.1) biff[57]					(DONE)
	    8.13.1.2) biff8					(DONE)
	8.13.2) import from SST					(DONE)
	8.13.3) collect fonts from markup for export
	    8.13.3.1) cells					(DONE)
	    8.13.3.2) comments
	    8.13.3.2) text boxes
	8.13.4) export RSTRING (95 & 97)			(DONE)
    8.14) editing while zoomed					(DONE)
9) RTL
    9.1) Drawing
	9.1.1) item-bar
	    9.1.1.1) col header					(DONE)
		9.1.1.1.1) draw heading				(DONE)
		9.1.1.1.2) button up/down			(DONE)
		9.1.1.1.3) cursors				(DONE)
		9.1.1.1.4) drag resize				(DONE)
		9.1.1.1.5) groups				(DONE)
		    9.1.1.1.5.1) ticks				(DONE)
		    9.1.1.1.5.2) lines with marks on left	(DONE)
		    9.1.1.1.5.3) lines with marks on right	(DONE)
		    9.1.1.1.5.4) boxes with marks on left	(DONE)
		    9.1.1.1.5.5) boxes with marks on right	(DONE)
	    9.1.1.2) row header					(DONE)
		9.1.1.2.1) drag resize				(DONE)
		9.1.1.2.2) groups				(DONE)
		    9.1.1.2.2.1) ticks				(DONE)
		    9.1.1.2.2.2) lines				(DONE)
		    9.1.1.2.2.3) boxes				(DONE)
		9.1.1.2.3) events in RTL with outlines		(DONE)
	9.1.2) item-cursor
	    9.1.2.1) basic drawing				(DONE)
	    9.1.2.2) motion					(DONE)
	    9.1.2.3) drag autoscroll				(DONE)
	    9.1.2.4) re-position the autofill handle
	9.1.3) item-grid
	    9.1.3.1) single cells				(DONE)
	    9.1.3.2) outline borders				(DONE)
	    9.1.3.4) diagonal borders				(DONE)
	    9.1.3.5) spans					(DONE)
	    9.1.3.5) merges					(DONE)
	    9.1.3.6) put line on left in RTL mode
	9.1.4) item-edit
	    9.1.4.1) basic					(DONE)
	    9.1.4.2) at the margins				(DONE)
	    9.1.4.3) mouse events
	    9.1.4.4) right alignment editing
	    9.1.4.4) center alignment editing
	    9.1.4.5) rotation
	9.1.5) wbcg/scg/pane
	    9.1.5.1) init scroll regions for rtl		(DONE)
	    9.1.5.2) set_top_left				(DONE)
	    9.1.5.3) set_left					(DONE)
	    9.1.5.4) scrollbars					(DONE)
	    9.1.5.5) positioning/redraw when flipping at IV1	(DONE)
	    9.1.5.6) Zooming					(DONE)
	    9.1.5.7) zooming sometimes loses headers		(DONE)
			until a scroll
	    9.1.5.8) increase zoom misaligns grid		(DONE)
	    9.1.5.9) frozen panes				(DONE)
	    9.1.5.10) autoscroll
		9.1.5.10.1) basics				(DONE)
		9.1.5.10.2) draging to right of col A jumps ?	(DONE)
		9.1.5.10.3) object drags outside window
    9.2) spans
	9.2.1) swap left/right align during rtl			(DONE)
	9.2.2) Respect style selected dir
	9.2.3) add 'context' selected text dir
    9.3) Model
	9.3.1) Add GtkAction					(DONE)
	9.3.2) Store state in scg				(DONE)
	9.3.3) Store state in view				(DONE)
	9.3.4) Store state in sheet				(DONE)
	9.3.5) Update view when sheet changes			(DONE)
	9.3.6) update sheet-controls when view changes		(DONE)
	9.3.7) update wbcg when view changes			(DONE)
	9.3.8) update wbcg when switching tabs 			(DONE)
	9.3.9) Add a new style element for text dir		(DONE)
	9.3.10) swap action icon depending on state
	9.3.11) Add entry to format dialog to set text dir
	9.3.12) Undo/Redo					(DONE)
    9.4) Persistence
	9.4.1) xml dom
	    9.4.1.1) in
	    9.4.1.2) out
	9.4.2) xml sax
	    9.4.2.1) in
	    9.4.2.2) out
	9.4.2) xls						(DONE)
	    9.4.2.1) 97 in					(DONE)
		9.4.2.1.1) sheet				(DONE)
		9.4.2.1.2) style/XF				(DONE)
	    9.4.2.2) 97 out					(DONE)
		9.4.2.2.1) sheet				(DONE)
		9.4.2.2.2) style/XF				(DONE)
	9.4.3) csv
	9.4.4) html
	9.4.5) latex
	9.4.6) sylk
	9.4.7) dif
    9.5) Printing
	9.5.1) single cells					(DONE)
	9.5.2) outline borders					(DONE)
	9.5.4) diagonal borders					(DONE)
	9.5.5) spans						(DONE)
	9.5.5) merges						(DONE)
	9.5.6) check right margin, we overwrite the edge
	9.5.7) init preview scroll to right in rtl mode
	9.5.8) Objects
    9.6) Add entry in manage sheet dialog			(DONE)
    9.7) Add entry to tab context menu (do we need ?)
    9.8) Set default value depending on LC_MESSAGE		(DONE)
    9.9) autofilters
    9.10) cell comments
    9.11) sheet objects
	9.11.1) reposition views when direction changes		(DONE)
	9.11.2) movement					(DONE)
	9.11.3) resize						(DONE)
	9.11.4) creation pivots on right side.			(DONE)
	9.11.5) selecting object sometimes jumps it to right	(DONE)
	9.11.6) objects created in rtl disappear in ltr		(DONE)
	9.11.7) set direction of views

-------------------------------------------------------------------------------
Target Features
---------------
- insert cut
- pivot tables
- validation from list (generalize filter combos)
- clipboard handlers in plugins
- input message				(Stored)
- load/save of external references
- all the merged cell singleton bugs
- Drag and Drop

- R1C1
- finish corba plugin
- conditional formats : could be done if someone wanted to work on the dialog
- scripting
- undo/redo transaction file
- drawing rotated borders
- repeat (http://bugzilla.gnome.org/show_bug.cgi?id=143244)	(DONE)
- ssconvert for non-gnome					(DONE)

-------------------------------------------------------------------------------
Short Term Goals
----------------

- validate expression names to ensure that they are not simple values (eg TRUE)

- Force the "for" (and thus the "switch") in mstyle_hash to be unrolled.

- Why do both mstyle_element_equal and mstyle_equal check types?

0) UI
    0.1)  Missing toolbar borders for color and stack combos	(DONE)
    0.2)  Add keynav for autoformat canvases			(DONE)
    0.3)  Make the 'apply' behavior of the color combo optional	(DONE)
          so that we can do just selection.
    0.4)  Add keynav for color combo                            (DONE)
    0.5)  center color combo swatches in the buttons		(DONE)
    0.6)  alpha channel support for color combos		(DONE)
    0.7)  Add mnemonic_activate for color combos		(DONE)
    0.8)  Add mnemonic_activate for ExprEntry			(DONE)
    0.9)  Queue update for changed/deleted in ExprEntry ?
    0.10) Menu mnemonics for Edit -> Fill -> merge & series	(DONE)
    0.11) Fix warning on destruction of torn off combo		(DONE)
    0.12) Use 'Chart' in the ui to be compatible		(DONE)
    0.13) giving focus to an expr entry with a single rangeref
    	  in another sheet should make that range visible.
    0.14) Convert dialog-consolidate to TreeView                (DONE)
    0.15) Enter ''123 in a cell and expr entry will show only   (DONE)
          one quote.
    0.16) Add a tooltip to the edit line showing all of the
   	 content (for cases where it needs to scroll)
    0.17) Fix format selector widget to not emit		(DONE)
	fmt-changed "", fmt-changed "new-format"

1) graphs
    1.1) Split plot xml file engine, type, and family plugins	(DONE)
    1.2) Use the registered engines to create plots		(DONE)
    1.3) XML
	1.3.1) Use libglade code parse GObject properties	(DONE)
	1.3.2) remove GdkColor from boxed type support		(DONE)
	1.3.3) Walk GogObject tree and build DOM		(DONE)
	1.3.4) Build GogObject treee from DOM			(DONE)
	1.3.5) For flagged properties store value in DOM	(DONE)
	1.3.6) Read properties from DOM				(DONE)
	1.3.7) XMLWriter interface for extra object content 	(DONE)
	1.3.8) Use it for series				(DONE)
	1.3.9) Extend GOData to support deserialization		(DONE)
	1.3.10) Implement deserialization for GnmData		(DONE)
	1.3.11) Use the XMLWriter for series for all datasets	(DONE)
	1.3.12) Persist names					(DONE)
	1.3.13) Use XMLWriter for properties of type object	(DONE)
	1.3.14) implement it for styles				(DONE)
	1.3.15) position
	1.3.16) image data
    1.4) Decide on model vs view structure			(DONE)
    1.5) Graph Guru						(DONE)
	1.5.1) update when someone else changes the model	(DONE)
	1.5.2) remove prop pages for deleted items		(DONE)
	1.5.3) Keep state::chart,plot safe for typeselector	(DONE)
	       in case they get deleted
	1.5.4) Allow going backwards if there is only chart	(DONE)
    1.6) data allocator in gnumeric				(DONE)
	1.6.1) initial interface				(DONE)
	1.6.2) generalize container to be a DataSet		(DONE)
	1.6.3) editor to specify pref for vector or scalar	(DONE)
    1.7) Single point formating
	1.7.1) Basic						(DONE)
	1.7.2) Improve selection of single points for pies	(DONE)
    1.8) data sources						(DONE)
	1.8.1) vector and scalar data sources from gnumeric	(DONE)
	1.8.2) Add min/max elements to vector			(DONE)
	1.8.3) const scalar value				(DONE)
	1.8.4) const scalar string				(DONE)
	1.8.5) const vector value				(DONE)
	1.8.6) const vector string				(DONE)
	1.8.7) translation of const vector strings		(DONE)
    1.9) Pie Plot						(DONE)
	1.9.1) Make the segments curve				(DONE)
	1.9.2) extracted segments				(DONE)
	1.9.3) Rings						(DONE)
	1.9.4) extracting single wedges				(DONE)
	1.9.5) formating single wedges				(DONE)
    1.10) Bar/Col Plot						(DONE)
	1.10.1) merge bar/col stack type bools into 1 enum	(DONE)
	1.10.2) normal						(DONE)
	1.10.3) stacked						(DONE)
	1.10.4) percentage					(DONE)
	1.10.5) Skip over bars/cols when too narrow
	1.10.6) Work around bleed through with overlap 100	(DONE)
	1.10.7) Check for short vectors				(DONE)
	1.10.8) Clip when values are out of range		(DONE)
	1.10.9) Support vary style by element for type=normal
    1.11) Line/Area Plot					(DONE)
	1.11.1)	Normal						(DONE)
	1.11.2)	Stacked						(DONE)
	1.11.3)	Percentage					(DONE)
	1.11.4)	sub type with no-marker by default		(DONE)
	1.11.5) center points on X index values for Line	(DONE)
	1.11.6) handle missing points in unstacked lines	(DONE)
    1.12) X/Y (Scatter) Plot
	1.12.1) Add simple implementation			(DONE)
	1.12.2) Take marker sizes into account at bounds	(DONE)
	1.12.3) Bounds on 1 axis explicitly clip the other
	1.12.4) Splined interpolation
	1.12.5) Bubbles 					(DONE)
    1.13) Decide on recalc strategy				(DONE)
	1.13.1) Getting data from sheet -> graphs		(DONE)
	1.13.2) linking unlinking				(DONE)
    1.14) Axis management
	1.14.1) Charts/plots have axis layout type		(DONE)
	1.14.2) Add any missing axis when chart type is set	(DONE)
	1.14.3) Remove any existing axis that do not correspond	(DONE)
		to chart type.
	1.14.2) Life cycle of plots/axis to maintain connection	(DONE)
	1.14.3) UI for adding an axis				(DONE)
	1.14.4) Only permit removal of unused axes		(DONE)
	1.14.6) Create plot1.5d as base for bar/col & line	(DONE)
	1.14.7) do range allocation and filtering in chart	(DONE)
	1.14.7) Draw ticks and allocate space for them		(DONE)
	1.14.8) Make the major labels optional			(DONE)
	1.14.9) Add a font selector to the editor		(DONE)
	1.14.10) Value formating (at least percentage and date)	(DONE)
	1.14.11) Support index type axis			(DONE)
	1.14.12) Use a map function (log, invert, date)		(DONE)
	1.14.13) Allow a plot to select a different axis
	1.14.14) Filter add plot in guru to matching types
	1.14.15) Editor for min/max/major/minor			(DONE)
	1.14.16) Respect user supplied min/max/major/minor	(DONE)
	1.14.17) Draw major ticks in				(DONE)
	1.14.18) Draw major ticks out				(DONE)
	1.14.19) Draw minor ticks in				(DONE)
	1.14.20) Draw minor ticks out				(DONE)
	1.14.21) Why don't we honour selected font ?		(DONE)
	1.14.22) Selectable label format for non-discrete data	(DONE)
	1.14.23) Editor for label format			(DONE)
	1.14.24) Persist label format				(DONE)
	1.14.25) Auto selection of label format			(DONE)
    1.15) per series plot type specific data			(DONE)
    1.16) libart based render akin to guppicanvas.		(DONE)
	1.16.1) Solid background fills				(DONE)
	1.16.2) Gradient fills 					(DONE)
	1.16.3) Pattern fills					(DONE)
	1.16.4) Image fills					(DONE)
	1.16.5) path						(DONE)
	1.16.6) text						(DONE)
	1.16.7) markers						(DONE)
	1.16.8) Rework text drawing to _not_ use libart		(DONE)
	1.16.9) Add anchor flags to draw_text			(DONE)
	1.16.10) Clip text to keep it in bounds			(DONE)
    1.17) SheetObject editing					(DONE)
	1.17.1) Connect SheetObject::user_config handler	(DONE)
	1.17.2) Create a gog_object_dup to avoid live updating	(DONE)
	1.17.3) Add undo/redo of full GogGraph assignment       (DONE)
    1.18) Extend sheet object anchor assignment to call object	(DONE)
          specfic handlers so that we can set the logical size
	  of the graph.
    1.19) Precedence						(DONE)
	1.19.1) Sort GogObject::children 			(DONE)
	1.19.2) Keep corresponding views in sync		(DONE)
	1.19.3) Have guru maintain order for add/remove		(DONE)
	1.19.4) api for changing order				(DONE)
	1.19.5) Extend Guru to support changing precedence	(DONE)
    1.20) GogStyle Editor page
	1.20.1) fill type					(DONE)
	    1.20.1.1) none					(DONE)
	    1.20.1.2) solid					(DONE)
	    1.20.1.3) basic gradients				(DONE)
	    1.20.1.4) advanced gradients via combo		(DONE)
	    1.20.1.5) pixmaps fills				(DONE)
	    1.20.1.6) patterns					(DONE)
	1.20.2) outline line pattern
	1.20.3) font selector					(DONE)
	1.20.4) Support 'auto' settings				(DONE)
	    1.20.4.1) outline (colour)				(DONE)
	    1.20.4.2) line (color)				(DONE)
	    1.20.4.3) fill (colors)	 			(DONE)
	    1.20.4.4) marker 					(DONE)
	1.20.5) image selector
	    1.20.5.1) drag destination for background images
	    1.20.5.2) scale image preview                       (DONE)
	    1.20.5.3) Use file selector with image preview	(DONE)
	1.20.6) De-sensitize (out)line colour when size == -1
    1.21) themes
	1.21.1) Actually use the themes to initialize styles	(DONE)
	1.21.2) load from xml
	1.21.3) selector for graphs
	1.21.4) How to change a graph's theme
	1.21.5) Use Roles rather than Types to enumerate	(DONE)
	1.21.5) Allow type aliases				(DONE)
    1.22) Legend
	1.22.1) Set up cardinality framework.			(DONE)
	1.22.2) Get things to update when chart changes		(DONE)
	1.22.2) smarter layout
    1.23) Layout engine
	1.23.1) In ChartView::size_allocate use the positions	(DONE)
	1.23.2) For compass placement use the alignment flags	(DONE)
	1.23.3) support NW, NE, SW, SE				(DONE)
	1.23.4) Move ChartView::size_allocate -> GogView	(DONE)
	1.24.5) Have Graph, Chart, Legend and Axis use it	(DONE)
	1.23.6) Add some notion of padding			(DONE)
	1.23.7) remove request_valid				(DONE)
	1.23.8) pass in available space				(DONE)
	1.23.9) How to support axis labels (siblings need
		common residual)
	1.23.10) Create a common base for outlined objects	(DONE)
    1.24) Sizing units						(DONE)
	1.24.1) Have the legend use pts to size swatches	(DONE)
	1.24.2) Test renderers mapping between pts & pixels	(DONE)
    1.25) Printing						(DONE)
	1.25.1) gog-renderer-gnomeprint				(DONE)
	1.25.2) sheet object wrapper for printing		(DONE)
	1.25.3) paths						(DONE)
	1.25.4) solid and empty polygons			(DONE)
	1.25.5) image filled polygons				(DONE)
	1.25.6) gradient filled polygons			(DONE)
	1.25.7) measure text					(DONE)
	1.25.8) draw text					(DONE)
	1.25.9) why doesn't text appear in preview		(DONE)
	1.25.10) why is font selection bogus			(DONE)
	1.25.11) text anchors					(DONE)
	1.25.12) Check the zoom handling for fonts		(DONE)
    1.26) Move 'use_one_style' from pie -> plot with 1 series	(DONE)
    1.27) Add a flag to gobject to go with its role indicating	(DONE)
	whether the instance was autocreated or assigned.
    1.28) Rethink GraphItem lifecyle to simplify removal	(DONE)
    1.29) Extend GogObjectRole to include more handlers		(DONE)
    1.30) Grid Object
	1.30.1) Create						(DONE)
	1.30.2) Theme it					(DONE)
	1.30.3) Add or remove it depending on chart axis set	(DONE)
	1.30.4) Render background				(DONE)
	1.30.5) Support grid lines (added to axis)		(DONE)
	1.30.6) XLS import of grid lines
	1.30.7) XLS export of grid lines
    1.31) SVG Render
	1.31.1) Paths						(DONE)
	1.31.2) Solid Fills					(DONE)
	1.31.3) Gradient Fills					(DONE)
	1.31.4) Pattern Fills
	1.31.5) Image Fills					(DONE)
	1.31.6) Markers						(DONE)
	1.31.7) Text						(DONE)
	1.31.8) Text alignment					(DONE)
	1.31.9) Text clipping					(DONE)
    1.32) Radar plots
	1.32.1) line						(DONE)
	1.32.2) area						(DONE)
	1.32.3) axis labels			{partial}
	1.32.4) fix xls import of marker vs no marker
    1.33) Contour plots				{Jean}
	1.33.1) Initial implementation				(DONE)
	1.33.2) GOMatrix					(DONE)
	1.33.3) Axis changes
	1.33.4) XLS import
	1.33.4) XLS export

2) stf							{Andreas/Morten}
    2.1) UTF-8 cleanliness					(DONE)
    2.2) User specifiable character encoding                    (DONE)
    2.3) Replace UI for format selection                        (DONE)
    2.4) Provide an optional mechanism for specifying the
	 target location useful for text to columns, and
	 import into sheet
    2.5) A help button                                          (DONE)
    2.6) Make it possible to ignore column on import, thus      (DONE)
	 making it possible to import (parts of) files with
	 more than 256 columns.  (Think of this as a special
	 "format".)
    2.7) Create interface for line terminator selection         (DONE)
    2.8) Make listed separators locale dependent (ie translators
         should be able to define separators)		
    2.9) User specifiable locale encoding (not to be confused   (DONE)
         with character encoding)
    2.10) Fix stf bugs                                          (DONE)
    2.11) Improve initial file preview                          (DONE)
    2.12) Hook up workbook-control-gui.c:cb_data_import_text    (DONE)
	Data -> External -> Import _Text File...
    2.13) Separate guessing of csv/fixed from importer.         (DONE)
    2.14) Implement format guessing.
    2.15) Put big "best guess" button on from page.
    2.16) Fix character set mess on paste                       (DONE)
    2.17) Tabs: handle optional expansion.
    2.18) Kill use of "importlines" and properly find the end.  (DONE)
    2.19) Fix locale specific parsing on paste.                 (DONE)

3) hlinks
    3.1) Finish the edit dialog to load and store results 	(DONE)
    3.2) Figure out import semantics of the other 2 XL types
    3.3) email support ? via system 'evolution mailto:....'
    3.4) Make file -> send email execution into a service

6) XL
    6.1) biff7 externsheet records in charts			(DONE)
    6.2) 97 export						(DONE)
    6.3) Check xl import of unicode names			(DONE)
    6.4) Fix export of unicode for 95 & 97			(DONE)
    6.5) Intersection, union and set export
    6.6) name export						(DONE)
	6.6.1) Excel 97						(DONE)
	6.6.2) Excel 95						(DONE)
	6.6.3) Excel crashes on our xl95 export of names test	(DONE)
    6.7) non-ole import (Nick Lamb is working on this)		(DONE)
    6.8) Validation export					(DONE)
	6.8.1) Clip ranges that are outside the sheet area	(DONE)
    6.9) autofilter export					(DONE)
	6.9.1) Add name						(DONE)
	6.9.2) autofilterinfo count				(DONE)
	6.9.3) field info in AUTOFILTER records			(DONE)
	6.9.4) combos						(DONE)
	    6.9.4.1) XL95					(DONE)
	    6.9.4.2) Escher					(DONE)
    6.10) hlink export (97 only)
    6.11) Comments
	6.11.1) import for XL95					(DONE)
	6.11.2) export for XL95					(DONE)
	6.11.3) import for XL97					(DONE)
	6.11.4) export for XL97 (needs placement kludge)
    6.12) Set operand classes
	6.12.1) calc and set the classes			(DONE)
	6.12.2) check target_type of external func		(DONE)
	6.12.3) check target type of range/intersect
    6.13) image export
	6.13.1) Excel95
	6.13.1) Excel97                                         (DONE)
    6.13) chart import	
	6.13.1) check overlap percentage for bars		(DONE)
	6.13.2) Add gog_object_set_position			(DONE)
	6.13.3) Handle 'use_one_style'				(DONE)
	6.13.4) styles						(DONE)
	    6.13.4.1) Area					(DONE)
	    6.13.4.2) Line					(DONE)
	    6.13.4.3) Marker					(DONE)
	    6.13.4.4) Grid					(DONE)
	    6.13.4.5) Chart					(DONE)
	    6.13.4.6) Legend					(DONE)
	6.13.5) Avoid leaking GODatas when faced with an	(DONE)
		unknown plot type.
	6.13.6) Titles						(DONE)
	6.13.7) check marker none				(DONE)
	6.13.8) Axis
	    6.13.8.1) value format				(DONE)
	    6.13.8.2) Axis bounds and ticks size		(DONE)
	    6.13.8.3) log scale					(DONE)
	    6.13.8.4) deleted axis should not appear		(DONE)
	    6.13.8.5) double axis import on simple_bar2
	    6.13.8.6) high/low flag is for partner not self
	6.13.9) Gradients
	    6.13.9.1) Horizontal x4				(DONE)
	    6.13.9.2) Vertical x4				(DONE)
	    6.13.9.3) Diag Up x4				(DONE)
	    6.13.9.4) Diag Down x4				(DONE)
	    6.13.9.5) From center
	    6.13.9.6) From corner
	    6.13.9.7) Two colour				(DONE)
	    6.13.9.8) Two colour alpha (is this possible)
	    6.13.9.9) One colour				(DONE)
	    6.13.9.10) One colour alpha (is this possible)
	    6.13.9.11) presets
	6.13.10) override auto series indexing for xls
	6.13.11) error bars
	6.13.12) Singletons (for series that support them)	(DONE)
	    6.13.12.1) Basic support				(DONE)
	    6.13.12.2) Put pie extraction somewhere		(DONE)
    6.14) chart export
	6.14.1) Infrastructure
	    6.14.1.1) escher wrappers				(DONE)
	    6.14.1.2) spid generation across sheets		(DONE)
	    6.14.1.3) collect colors				(DONE)
	    6.14.1.4) collect fonts
	    6.14.1.5) collect fmts
	    6.14.1.6) Create a NullRenderer for measurement
	    6.14.1.7) Handle multiple charts in a graph
	    6.14.1.8) spid group allocation for gradients
	6.14.2) Pie						(DONE)
	    6.14.2.1) Basic					(DONE)
	    6.14.2.2) Ring					(DONE)
	6.14.3) XY						(DONE)
	    6.14.3.1) Basic					(DONE)
	    6.14.3.2) Bubble					(DONE)
	6.14.4) 1.5d						(DONE)
	    6.14.4.1) Col					(DONE)
	    6.14.4.2) Bar					(DONE)
	    6.14.4.3) Line					(DONE)
	    6.14.4.4) Area					(DONE)
	6.14.5) Axes
	    6.14.5.1) value axis				(DONE)
	    6.14.5.2) discrete axis
	    6.14.5.3) axis set creation				(DONE)
	    6.14.5.4) handle bar plot axes			(DONE)
	    6.14.5.4) handle area plot axes
	    6.14.5.5) radar plot axes
	    6.14.5.6) check line formatting			(DONE)
	    6.14.5.7) label fmt
	    6.14.5.8) Tick position and axis label		(DONE)
	6.14.6) Area Formating
	    6.14.6.1) None					(DONE)
	    6.14.6.2) Pattern					(DONE)
	    6.14.6.3) Gradient
	    6.14.6.3) Image
	6.14.7) Marker Formating				(DONE)
	6.14.7) Line Formating					(DONE)
	6.14.8) labels
	    6.14.8.1) Content
	    6.14.8.2) Placement
	    6.14.8.3) Markup
	6.14.8) Legends
	    6.14.8.1) Basic					(DONE)
	    6.14.8.2) Exceptions
	6.14.9) error bars
	6.14.10) OOo compat
	    6.14.10.1) Bubble seems broken
	    6.14.10.2) Markers are not appearing
	6.14.11) Singletons
    6.15) Store and round trip macros (functional, but could be prettier)
	6.15.1) blob CompObj stream				(DONE)
	6.15.2) blob property streams to get the flags		(DONE)
	6.15.3) export OBPROJ record if necessary 		(DONE)
	6.15.4) export CODENAME records if necessary 		(DONE)
	6.15.5) Store a workbook local function stub in import	(DONE)
	6.15.6) use appropriate NAME record for function stubs	(DONE)
	6.15.7) generate CompObj stream
	6.15.8) generate property streams to get the flags
	6.15.9) Look into Michael's vba compressor
    6.16) Excel95 object import
	6.16.1) TextBox						(DONE)
    6.17) Excel95 object export
    6.18) 'Forms' import					(DONE)
	6.18.1) basic objects					(DONE)
	6.18.2) connections to cells				(DONE)
    6.19) print header/footer					(DONE)
	6.19.1) import parsing					(DONE)
	6.19.2) export						(DONE)

7) Jump to zip file
    7.1) move existing code into plugin (easy)
    7.2) work on sax-ish exporter				(DONE)
    7.3) convert xml-sax to use gsf sax helper			(DONE)
    7.4) Namespace support for xml import			(DONE)
    7.5) Entity support in gsf
    7.6) writeup and discuss proposals for container
    7.7) writeup and discuss proposals for content
    7.8) Store cell value as content, with expr as attr
    7.9) Store value formats in table and reference them
    7.10) Store styles in table and reference them from regions

8) Lockdown (from libgnome/schemas/desktop_gnome_lockdown.schemas)
    8.1) /desktop/gnome/lockdown/disable_save_to_disk
    8.2) /desktop/gnome/lockdown/disable_printing
    8.3) /desktop/gnome/lockdown/disable_print_setup

14) Polish up Open and Save
    14.1) merge open and import dialogs				(DONE)
    14.2) Notice mismatch between suffix and saver		(DONE)
    14.3) sort the file types by precedence and recently used
    14.4) do we want to persist recently used ?
    14.5) Fix 'do you want to overwrite' transientness		(DONE)

21) AutoFilter
    21.1)  clip size for long lists				(DONE)
    21.2)  fix mouse events for scrolled combos			(DONE)
    21.3)  race condition on start				(DONE)
    21.4)  top 10 dialog					(DONE)
    21.5)  top 10 item filters					(DONE)
    21.6)  top 10 percentage filters				(DONE)
    21.7)  blank filters					(DONE)
    21.8)  visual cue that row in part of a filter		(DONE)
    21.9)  visual cue that a field is active			(DONE)
    21.10) select the current condition in the combos		(DONE)
    21.11) expression filters					(DONE)
    21.12) expression dialog					(DONE)
    21.13) Handle range changes (cut-n-paste or ins/del col/row)(DONE)
    21.14) Handle the relationship between groups and filters	(DONE)
    21.15) xml import/export					(DONE)
    21.16) Fix cursor redraw after filter			(DONE)
    21.17) Link filters to Show All menu			(DONE)
    21.18) Have the show all action clear filter conditions	(DONE)
    21.19) Change value entries in expr dialog into combos
    21.20) editable enters for expr dialog value entries
    21.21) 2nd value in expr dialog only if 1st is active
    21.22) drag scroll for value combos
    21.23) undo/redo for creation
    21.24) undo/redo for condition set change
    21.25) Undo redo support for ins/del col/row with filters
    21.26) guess initial region if its a singleton
    21.27) combo contains start to end of continuous region
           not just the end of the selected region
    21.28) filter changes should dirty things

22) Add dirty flags to workbook too, adding a sheet should
    make workbook dirty not the new sheet.

24) Plugins
    24.1) enhance gobject service to do delayed load		(DONE)
    24.2) pluginize paste types
    24.3) plugin manager needs dependency tracking.  (Deactivate all
          python plugins before the python loader, for example.)

27) audit all of the export plugins to handle utf8
    27.1) latex exporter                                        (DONE 20030611 AJG)
    27.2) html exporter

29) gconf.
    29.1) Check for errors					(DONE)
    29.2) update on remote changes
    29.3) see if schema is installed				(DONE)
    29.4) Move the pref storage into app and compartmentalize
    	  the use of gconf.
    29.5) update the preference structure on local changes 
          (this is an automatic consequence of 29.2)	

30) Cleanup importers/exporters
    30.1) multiple extensions for exporters, with a default
    30.2) flag/virtual for an imp/exp to flag viability with current context
    30.3) support command line flags via goption (glib-2.5)
    30.4) remove bogosity of function pointers that are unused
    	in the base instance.
    30.5) Allow import of multiple views			{jody}
    30.5) Allow export of multiple views			{jody}

31) sylk
    31.1) importer
	31.1.1) constants						(DONE)
	31.1.2) expressions (needs r1c1 parser)
	31.1.3) array expressions
	31.1.4) column widths						(DONE)
	31.1.5) formats							(DONE)
	31.1.6) fonts 					{partial}
	31.1.7) styles							(DONE)
    31.2) exporter

32) SheetObjects
    32.1) SheetView specific objects	{partial}
    32.2) Add acetate_create virtual to handle shaped objects.
    32.3) Other anchor types for sheet objects
    32.4) Add keyboard controls for the control points			(DONE)
	32.4.1) Arrows move						(DONE)
	32.4.2) Ctrl Arrows expand					(DONE)
	32.4.3) Shift Ctrl Arrows shrink				(DONE)
    32.5) Use delta from start of drag rather than previous movement
    32.6) Add 'is_printable' flag					(DONE)
    32.7) Add 'move_with_cells' flag					(DONE)
    32.8) Add ability to fix aspect ratio of drag resize
    32.9) Honour rubber_band_directly during resize too			(DONE)
    32.10) research the other xl object flags.
    32.11) remove update_view_bounds and have the model emit a		(DONE)
    	   bound_changed signal
    32.12) double click to bring up prefs dialog			(DONE)
    32.13) selecting object with other objects on top of it should
   	   hide them while editing
    32.14) ngettext for insert/delete objects undo message
    32.15) Check the stacking of ctrl pts when moving multiple selections
    32.16) event handling for check boxes

33) Win32
    33.1) Make gnumeric build with only gtk and available libraries	(DONE)
    33.2) Drawing past row 1800 or so (gtk bug)
    33.3) Shift-keyup from B1300 does not redraw properly (gtk bug)
    33.4) License in installer should be GPL, not LGPL			(DONE)
    33.5) no menu entry for Gnumeric					(DONE)
    33.6) broken header in 1st page of installer			(DONE)
    33.7) no charts (although about box does work)			(DONE)
    33.8) prefs dialog is useless in non-gnome build
    33.9) printing is zoomed in non-gnome build				(DONE)
    33.10) Cursor shape changes oddly (gtk bug)				(DONE)
    33.11) can not copy-n-paste (gtk bug)				(DONE)

Misc stuff that should be fixed
-------------------------------

- Plugin breakage:
    - "De-activate all" should take the dependency tree into account and
      handle the python loader last.

    - When loading a function that already has a definition (such as a stub),
      we're in trouble: (a) we just overwrite the old definition in the symbol
      table, (b) both old and new owner want to remove the symbol on exit.

      We should somehow steal the old definition (and complain unless the old
      was a stub) without changing the GnmFunc address.  On exit we should
      explicitly check that it is ours to remove.

- Missing undo/redo for
    - Freeze panes (tricky this is a view attribute)
    - Remove sheet. (Done except that references are not linked back.)
    - `Add Scenario' Portion of Solver
    - Sheet object configuration changes. (Done for graphs, lines, and fills)
    - Workbook attr changes

- cols/rows
    : Make unhide smarter to find hidden regions on either side of
      selected ranges.
    : drag based col/row resize should support negative sizes to
      correspond to hiding.
    : support delete for discontinuous ranges

- Remove duplication of code between analysis-tools.c and collect.c
    (Many analysis tools may in fact want to follow the consolidate style)

- Look into octave/matlab filters
- look into maxima
- Talk to shaunm about mathematica

- autoformat
    - leaking styles when an edge is disabled
    - consider either using the users data as a sample, or at least making the
      sample adaptive based on which edges are disabled.

- The autocalc label should use a more readable format and should not get
  clipped.

- Names
    : references in names do not get changed with cut/paste or ins/del row/col.
      How to handle relative references in names ?? here.
    : Dialog
	* We should start with the expr entry set to either the current cell,
	  or by selecting the first named expression in scope that contains the
	  current cell.
    : Check scoping changes.						(DONE)
    : Is there such a thing as an array formula in a name ?
    : Handle pasting an expression with an un-qualified sheet local name into
      another sheet

- clean up the range_list codes to differentiate a list of ranges from a list
  of cellranges.

- The max row/col canvas scroll size is still hard coded.

- Formats
    : Why does the number matching bother comparing against formats that are
      covered by 'General' ?
    : When applying a currency symbol we need to store the NON-localized id.
    : hour month and year format strings need to be internationalized.
	eg tt:ss instead of hh:ss for other locales.
    : formats with AM/PM need to be internationalized.
    : We do not format fractional seconds correctly.
    : Parsing should handle embedded strings
    : It incorrectly accepts mmm:ss as some sort of minute spec.
    : When entering "ppp/qqq" into a cell with non-fractional format, do not
    make it a fraction.
    : Consider adding "%" to entry text when typing a text with a percentage
    format.  (I.e., user has "44%" in cell and presses "5" -- that causes
    "5%" to be shown the the cursor between "5" and "%".)

- Entering text of the form scheme://blah or a@b.c should insert hyperlinks
- let's add simple commands like inc/dec font size and things like that.

- Support parsing and displaying locale specific function names.

- Auto resize needs to handle empty cells.

- auto-fill does not resize row/col

- Styles
    : improve uniform_get to handle full sheet more quickly.
    : Borders
	* use new border code for cell format dialog (possibly preview-grid)

Dialogs
-------
- Formula Guru
    : Fix keyboard interface

Function Breakage
-----------------
- Function range_min_k uses an O(n*log n) algorithm.  It should use O(n)
  algorithm, see Knuth.
- WORKDAY	Add holiday support (Leonard is working on this)

Printing
--------
- cell text wraps differently when printing than displaying due to scaling
  differences in font size.  do we want to eliminate this ?

Plugins
-------
- i18n support for third-party plugins.
- Add extra info (authors, etc.) to XML file.
- Beautify ErrorInfo dialog (it's ugly).
- Mark plugin as "broken" if deactivation failed.
- mps
    : has some fixed-length arrays that can be overrun.
    : creates formulae by making strings and then parsing them.
      (Wasteful and won't work in non-C locales.)

Clipboard
---------
- Fall back to string import when incoming html and OpenOffice doesn't
  contain tables.                                               (DONE)
- May be not export html as table when just one cell is selected.

Translations
------------
    - Translate each arg name + description seperately to get better
      commonality.
    - Translate description paragraphs seperately to allow better grouping.
    - Make 'func is foo compatible' a flag on the importers and auto generate.

    func_help [] = {
	{ ARG, N_("issue:The issue date of the underlying bond") },
	{ ARG, N_("maturity:The maturity of the underlying bond") },
	{ DESC, N_("calculates some stuff") },
	{ DESC, N_("available day count basis conventions are :\n"
	        "0\tUS 30/360") },
	{ 0, NULL }
    };

    - need conventions for including markup
	- simple bold/italic/font
	- links
	- embedded images ??
