TODO 5.97 KB
Newer Older
Arturo Espinosa's avatar
Arturo Espinosa committed
1
-*-outline-*-
Arturo Espinosa's avatar
Arturo Espinosa committed
2

Arturo Espinosa's avatar
Arturo Espinosa committed
3
Gnumeric Spread Sheet task list
Arturo Espinosa's avatar
Arturo Espinosa committed
4

5 6 7 8 9 10
* Workbook
   
   Have a new "manager" file that will take over the details of open
   workbooks and active servers, instead of the current approach we
   use to have this management in the workbook.c file

11 12 13
   The bold and italic buttons need to be updated after a load to
   reflect the cell with the cursor.

14 15 16 17 18 19 20 21 22 23 24 25
* Component

   Make sheet_selection_changed_hook execute a list of hooks 
   Remove the hardcoded workbook hooks from the sheet.
   Initialize the hooks on the workbook_new routine.

   The model is somewhat broken.  sheet_new creates a sheet_view by
   default. 

   I think we need something like: workbook_new and workbook_view_new
   to split this sort of thing.

Arturo Espinosa's avatar
Arturo Espinosa committed
26 27
* Cell editing

Jody Goldberg's avatar
Update.  
Jody Goldberg committed
28 29 30 31 32 33 34
   * Support for entering multiline cells, and <Alt-Enter> adding an
     embedded newline.

   * Colouring a parsed formula for editing.

   * The mouse can select a range as the current argument while editing a
     formula without changing to a different cell.
Arturo Espinosa's avatar
Arturo Espinosa committed
35 36


37 38 39 40 41 42 43
* Expresions

    * Rework the handling of input ranges for functions/operators that take
      scalars.  To either take implicit intersection of calling cell and range
      or to create array result and apply function/operator to each input
      individually.  

44
* Implement Even More Functions
45

46
    * AREAS, INDEX, MATCH, GETPIVOTDATA, GROWTH, LOGEST, and PERCENTILE
47
    * Finish LINEST and TREND
48
    * ACCRINT, ACCRINTM, AMORDEGRC, AMORLINC, COUPDAYBS, COUPDAYS,
49
      COUPDAYSNC, COUPNCD, COUPNUM, COUPPCD, CUMIPMT, CUMPRINC,
50
      DISC, FVSCHEDULE, INTRATE, IRR, MDURATION, MIRR, ODDFPRICE,
51
      ODDFYIELD, ODDLPRICE, ODDLYIELD, PRICE, PRICEDISC, PRICEMAT,
52
      RECEIVED, VDB, XIRR, YIELD, YIELDDISC, and YIELDMAT.
53

54 55
* Fix the Following Functions

56
    * DAVERAGE, DGET, PERCENTRANK, and VLOOKUP
57

Arturo Espinosa's avatar
Arturo Espinosa committed
58 59 60 61 62
* Printing
  * Save print information in workbook
  * Load print information from workbook
  * Preview
  * Print setup: 
63
    * Implement Print Preview, Options buttons
Arturo Espinosa's avatar
Arturo Espinosa committed
64 65 66 67 68 69 70
    * Improve layout 
    * Provide GUI for margin editing.
  * Add the missing options to the Print Dialog
  * Display printing status (pages to go).
  * Add column/row title printing
  * Add color printing support.

71 72 73 74 75
* Font dialog

  * Get the list of *valid* fonts from GnomePrint
  * Create a simplistic dialog (to map to font-bold yes/no).

76
* Cell dimension computation is broken on font change for multilines.
77

Miguel de Icaza's avatar
Miguel de Icaza committed
78 79 80 81 82 83 84
* Number formatting

   The formatting code should take the current GtkFont for the cell
   being formatted as well as the width allowed and take this into
   account to render the number as well as possible given the space so
   that for small regions, numbers in scientific notation are displayed.

Arturo Espinosa's avatar
Arturo Espinosa committed
85 86
* Sheet

87 88 89
** Cell data entry:
   double click on cell allows editing as in main editing box.

90 91 92
   double click on the magic little copy box fills the current
   column to the depth of the column to the left ??

93 94 95 96 97 98
** Headers for Columns and Rows

   The captions should be customizable, ie instaed of "A1", it should
   be possible to display "Sales".  We can use this with Michael's
   name support. 

Michael Meeks's avatar
Michael Meeks committed
99 100 101 102
   Instead this should be done with split-pane support in tandem with
   disabling the standard caption rendering. This would give a far more
   flexible approach : Michael.

103 104 105 106 107 108 109
** Captions (ItemBar)

   It should be possible to set the dimensions of the cols, rows to
   contain information as "min_points", "max_points".  

   Interesting side effect: min_points == max_points means "fixed". 

110 111 112
* Auditing
   Write the sheet auditing code.

113 114 115 116
* Searching

   Searching text on the spreadhseet.

117 118
* EDITION

Miguel de Icaza's avatar
New:  
Miguel de Icaza committed
119 120 121 122
** Object Clipboard
   If sheet->mode is OBJECT_SELECTED cut/copy/paste should operate on
   the object.

Miguel de Icaza's avatar
Miguel de Icaza committed
123 124
   Object properties.

125 126 127 128 129 130
** Cut vs Paste

  - A cut formula keeps relative cell references as absolute. They
    should not shift relative to the destination as they would with
    copy.

131 132 133 134 135 136 137 138 139
** Paste special 

  needs some little changes:
  - When formulas are pasted with an operation,
    the new ExprTree should be created with the operation.

** Style

  Borders:
Arturo Espinosa's avatar
Arturo Espinosa committed
140

Jody Goldberg's avatar
updates  
Jody Goldberg committed
141 142 143 144
  - Color/patterns differentiate pattern foreground & background
  - Remember when a color is selected as a contrast to the another.
  - pattern selector needs tooltips, button like appearance, and
    white backgrounds for the patterns.
145 146 147 148

  Protection:
    Bloqued/Hidden

149
** Keyboard shortcuts
Jody Goldberg's avatar
updates  
Jody Goldberg committed
150 151
    * When pasting a cut expression the references should be treated as
      absolute.
152

153 154 155 156 157 158 159
* File Load/Save

  Support for popular formats.  

    I have the specs for the XS3 format.  SC should be
    trivial to support as well (from the guile sources)

Miguel de Icaza's avatar
Miguel de Icaza committed
160 161
  Add "hints" to the file save routine based on the registered
  formats.
162 163 164

* Display Engine

165 166
* Unicode support throughout

167 168 169
* Workbooks:

** Notebook:
170

171 172 173 174 175
   Clicking on it chooses it
   Double clicking changes the name
   Right clicking gets:
     insert

Arturo Espinosa's avatar
Arturo Espinosa committed
176 177 178 179 180 181 182
* Sheets

When adding a sheet or renaming a sheet, should we reparse everything?

* Clipboard

Perhaps make a global clipboard and remove all the hacks in the
Arturo Espinosa's avatar
Arturo Espinosa committed
183
current clipboard code to find the clipboard.
Arturo Espinosa's avatar
Arturo Espinosa committed
184

Arturo Espinosa's avatar
Arturo Espinosa committed
185
* Sheet Objects
Arturo Espinosa's avatar
Arturo Espinosa committed
186

Arturo Espinosa's avatar
Arturo Espinosa committed
187
Rewrite the entire support for sheet objects.  I do not like the code
188 189 190 191 192
at *all*.

* Styles

Rewrite all cell style support, for memory efficiency and speed.
193 194 195 196 197 198
Rewrite background pixmap handling to take 2 colours: FG & BG.

* Office compatibility

Write an XML plugin to output 'Publish as Web' style XML for
Office 2000 and 'explorer' compatibility.
Arturo Espinosa's avatar
Arturo Espinosa committed
199 200 201 202 203 204 205 206 207 208 209 210 211 212 213

* Internals

  * Kill cell_set_font in its current way, the font used to encode
    type, size, boldness and italicness.  This is not the case
    anymore.  We should kill this and only use
    cell_set_font_from_style.

  * Exceptions.

    Currently some code is refusing to make changes when an array
    operation is acted on.  This code is inside the core, and a CORBA
    client might find this problem without being able to do anything
    about it, nor knowing about the error condition.

Michael Meeks's avatar
Michael Meeks committed
214 215 216
  * Improved style architecture

    Possibly needed for better Excel export
Michael Meeks's avatar
Michael Meeks committed
217 218 219 220 221

  * Hack R[-1]C[3] style references into the parser.

  * Hack Array support into the parser.