1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
|
/*
* Preferences & Persistent Attributes in Gnumeric
*
*/
/* Task */
To have persistent workbook attributes, such as grid line color, default
style for empty cells, and the host of of excel options, for which I
have already generated a list. In addition some application wide
preferences like user defined plugin directories also need to be done.
Workbook attributes should have the ability to undone and redone.
/* Plan */
The application wide preferences will be done via the usual gnome-config
system. A preferences struct available globally can store various
values.
Workbook and sheet attributes will be handled by GtkArgs. Each object
can provide an array of GtkArgs (via internal use of gtk_object_getv) which
can then be written out as part of a xmlDocNode in a standard way. The format
will be:
<gmr:Attributes>
<gmr:Attribute>
<gmr:name>Workbook::show_horizontal_scrollbar</gmr:name>
<gmr:type>4</gmr:type>
<gmr:value>FALSE</gmr:value>
</gmr:Attribute>
<gmr:Attribute>
<gmr:name>Workbook::show_vertical_scrollbar</gmr:name>
<gmr:type>4</gmr:type>
<gmr:value>FALSE</gmr:value>
</gmr:Attribute>
<gmr:Attribute>
<gmr:name>Workbook::show_notebook_tabs</gmr:name>
<gmr:type>4</gmr:type>
<gmr:value>FALSE</gmr:value>
</gmr:Attribute>
</gmr:Attributes>
Name is the GtkArg name, type is GtkArg type (for easy mapping).
Complex types (ie other objects) can be handled be multiple <value> tags, perhaps using a "name" attribute.
When the attributes are read back in they are turned into a GList of GtkArgs.
Workbook and sheet objects will have functions to take this list and internally
set the args.
Undo/Redo will be done by using utility function calls of the workbook and
sheet objects that get and set individual attributes interface for all
attributes. The command struct will use a simple structure to store the
previous arg.
The workbook and sheet objects will also provide dialogs to set these
attributes.
/*
* Gnumeric Preferences
*
* Additional preferences not found in the excel list.
*
*/
Application
* Show history list (boolean)
- if true, additional attribute: number of files (int)
* Default plugin directories (file names)
/*
* Excel Preferences
*
* A list of all preferences found in Excel 97, broken down by
* object type.
*
*/
Application
* Show formula bar (boolean)
* Show status bar (boolean)
* Comment display: none, indicator, indicator and comment (choice)
* Calculations: automatic, auto except tables, manual (choice)
- manual has a boolean attribute for calcing before save
- the are buttons to calc the sheet and calc now
* Iteration (boolean)
- not sure what this is doing exactly
* Maximum iterations (integer value)
- not sure what this is doing exactly (related to
iteration)
* Minimum change (real value)
- not sure what this is doing exactly (related to
iteration)
* Edit directly in cell (boolean)
- if true, cursor in cell else cursor in entry box
* Allow cell drag and drop (boolean)
- additional attribute if true, Alert before overwriting
(boolean)
* Move selection after enter (boolean)
- additional attribute if true, Direction of movement:
up, down, left, right (choice)
* Fixed number of decimals places (boolean)
- additional attribute if true, Number of decimal places
(integer value)
* Cut, copy, and sort objects with cells (boolean)
* Ask to update automatic links (boolean)
* Provide feedback with Animation (boolean)
- not exactly sure what this does
* Enable AutoComplete for cell values (boolean)
* R1C1 Reference Style (boolean)
- indicate row and column by offset
- references are relative
* Ignore other applications (boolean)
- don't know what this does
* Macro virus protection (boolean)
- prompts to disable vb macros
* Recently used file list (boolean)
- additional attribute if true, number of files (integer)
* Prompt for workbook properties (boolean)
- prompts for summary info when saving if true
* Provide feedback with sound (boolean)
* Zoom on roll with Intellimouse (boolean)
* Sheets in new workbook (integer)
* Standard font (font)
* Font size (integer)
* Default file location (string)
* Alternate startup file location (string)
* User name (string)
* Save Excel files as (string)
- various formats
* Microsoft Excel menu or help key (string)
* Key binding: Excel menus, Lotus 1-2-3 help (choice)
- binds the functionality to the key from the above
attribute
* Transition navigation keys (boolean)
- don't know what this does
* Transition formula evaluation
- don't know what this does
* Transition formula entry
- don't know what this does
- above three seem related to Lotus key bindings
* Custom lists
- allow user to make lists for autofill
Workbook
* Object display: show all, show placeholders, hide all (choice)
* Horizontal scrollbar (boolean)
* Vertical scrollbar (boolean)
* Sheet tabs (boolean)
* Update remote references during calc (boolean)
* Keep only as much precision as displayed (boolean)
* Use 1904 date system (boolean)
- converts dates when selected/unselected
- stores dates relative to 1904 when true
* Accept labels in formulae (boolean)
- converts labels to cell references
* Save external link values (boolean)
- I think this keeps the last known external link value
with the workbook instead of only relying on the reference
* Standard colours
- sets palette for text and fill
* Chart fill
- standard chart fill colours
* Chart lines
- standard chart lines colours
Sheet
* Grid lines (boolean)
* Grid line colour (colour or auto/default)
* Row and column headers (boolean)
* Page break indicators (boolean)
* Show formulae (boolean)
* Show zero values (boolean)
* Show outline symbols (boolean)
Chart
* Plot empty cells as: Not plotted, Zero, Interpolated (choice)
* Plot visible cells only (boolean)
* Chart sizes with window frame (boolean)
- don't know how to activate this option
* Show names (boolean)
- chart tips
* Show values (boolean)
- chart tips
|