Difference between revisions of "User:Regina/MYDrafts2"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Detailed Specification)
(Format > Sheet Print Settings back to Format > Print ranges)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Print Ranges=
+
__TOC__
 +
 
 +
=Print Ranges Version 2 (2009-20-13) =
 +
 
 +
{{Specification_Header|Regina Henschel||Preliminary}}
 +
 
 +
== Abstract ==
 +
Reorganize handling of the sheet properties ''printable'', ''print ranges'' and ''repeat rows/columns''
 +
 
 +
 
 +
== References ==
 +
 
 +
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
|-
 +
| width="300" bgcolor="#dddddd" | '''Reference Document''' || bgcolor="#dddddd" | '''Check''' || bgcolor="#dddddd" | '''Location (URL)'''
 +
|-
 +
| |'''[http://wiki.services.openoffice.org/wiki/Specification#Before_Writing_a_Software_Specification_--_What_Else_Do_I_have_to_Do.3F Prerequisites]'''
 +
| [passed/failed]
 +
| n/a
 +
|-
 +
| '''Product Requirement, RFE, Issue ID''' (required)
 +
| [available/not available]
 +
| <PLEASE ENTER LOCATION HERE>
 +
|-
 +
| '''Accessibility Check''' (required)
 +
|
 +
| See accessibility section for check list
 +
|-
 +
| '''[[Test case specification]]''' (required)
 +
| [available/not available]
 +
| <PLEASE ENTER LOCATION HERE>
 +
|-
 +
| IDL Specification
 +
| [available/not available]
 +
| <PLEASE ENTER LOCATION HERE>
 +
|-
 +
| [http://wiki.services.openoffice.org/wiki/The_Three_Golden_Rules_for_Writing_OpenOffice.org_Specifications '''Software Specification Rules''']
 +
| n/a
 +
| n/a
 +
|-
 +
| OASIS OpenDocument Specification v1.1
 +
|
 +
| http://www.oasis-open.org/specs/#opendocumentv1.1
 +
|-
 +
|}
 +
 
 +
 
 +
== Acronyms and Abbreviations ==
 +
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0;  border: 1px #cccccc solid; border-collapse: collapse; width: 100%"
 +
|-
 +
| bgcolor="#dddddd" | '''Acronym / Abbreviation''' || bgcolor="#dddddd" | '''Definition'''
 +
|-
 +
| ODF
 +
| Open Document Format
 +
|-
 +
|}
 +
 
 +
== Detailed Specification ==
 +
 
 +
=== Glossar ===
 +
A single cell or a rectangle area of cells can be used as print range. In this specification for both the term ''cell range'' is used.
 +
 
 +
A ''print range'' is a cell address or a cell range address. All addresses are absolute and they do not contain a sheet identifier.
 +
 
 +
A ''print range list'' is an ordered list of print ranges. If it is written in one line, the print ranges are separated by semicolon.
 +
 
 +
=== Motivation ===
 +
The ODF specification defines the attributes '''table:print''' and '''table:print-ranges''', which need an appropriate UI in Calc.
 +
 
 +
Three settings are possible
 +
: table:print="false"
 +
:: The sheet is not printed.
 +
: table:print="true" and no print ranges defined
 +
:: The smallest rectangle cell range is printed, that contains all used cells.
 +
: table:print="true" and print ranges are defined.
 +
::The print ranges are printed.
 +
These attributes are not visible to the user, but used in the file format.
 +
 
 +
The current UI has a lot of short comings:
 +
 
 +
*The current item ''Print Range'' does not only lead to defining and altering print ranges, but it contains managing of repeat rows and repeat columns too. The user has no hint, that this settings are inside the edit dialog of print ranges and do not find them. Therefore they should be moved away and get an own dialog.
 +
*The edit dialog of print ranges shows the list of ranges in one long line. The user cannot see the ranges all at once and editing is inconvenient. If the user wants to remove or alter a range, he has to move horizontally in the input field.
 +
*The input line in the edit dialog does not allow to add a named print range using the name, but the user must type the connected cell range address in the input field.
 +
*The user cannot set the variant <tt>table:print="true" and no print ranges defined</tt> in the  first level of the current sub-menu, but has to open the edit dialog.
 +
*The user cannot remove one single print range with the item ''Remove'', but has to open the edit dialog.
 +
*The user does not know, which setting is used, when he removes all print ranges.
 +
*The value ''entire sheet'' is misleading, because not the entire sheet is printed, but only the area of the used cells.
 +
*The user has no information about the current setting in Normal View.
 +
 
 +
=== Format > Print ranges ===
 +
The item ''Print ranges ►'' opens a sub-menu. This sub-menu contains
 +
<pre>
 +
Enable Print
 +
Disable Print
 +
-------------
 +
Define Print Range
 +
Add Print Range
 +
Remove Print Range
 +
Edit Print Ranges…
 +
--------------
 +
Define Repeat Rows/Columns
 +
Edit Repeat Rows/Columns…
 +
</pre>
 +
 
 +
The items ''Define Print Range'', ''Add Print Range'', and ''Undo Print Range'' are also available in the context menu of the sheet in 'Page Break Preview'.
 +
 
 +
;Enable Print
 +
:Sets <tt>table:print="true"</tt>. The sheet will be printed. If a sheet has got print ranges, they are used, otherwise the smallest rectangle cell range is printed, that contains all used cells. Clicking this item effects all selected sheets.
 +
 
 +
;Disable Print
 +
:Sets <tt>table:print="false"</tt>. The sheet will not be printed. If a sheet has got print ranges, they are not deleted but reused when printing is enabled. Clicking this item effects all selected sheets.
 +
 
 +
;Define Print Range
 +
:Sets the current selection as print ranges. If the sheet has print ranges defined before, they are deleted.  This does not effect, whether the sheet is printed or not. Clicking this item effects all selected sheets.
 +
 
 +
''To discuss: Should Define automatically enable print?''
 +
 
 +
;Add Print Range
 +
:Adds the current selection to the list of print ranges.  This does not effect, whether the sheet is printed or not. Clicking this item effects all selected sheets.
 +
 
 +
;Remove Print Range
 +
:The print range list becomes empty, so that the smallest rectangle cell range is printed, that contains all used cells. This does not effect, whether the sheet is printed or not. Clicking this item effects all selected sheets.
 +
 
 +
;Edit Print Ranges…
 +
:Opens the dialog ''Edit Print Ranges''.
 +
 
 +
;Define Repeat Rows/Columns
 +
:If adjacent whole rows or adjacent whole columns are selected, these are set as repeat rows or repeat columns respectively. Otherwise nothing is done. If the whole sheet is selected nothing is done.
 +
 
 +
;Edit Repeat Rows/Colums…
 +
:Opens the dialog ''Edit Repeat Rows/Columns''
 +
 
 +
:''To discuss: Should there be an item 'Remove all Repeat Rows/Columns' too? Is the item 'Define Repeat Rows/Columns' useful?'
 +
 
 +
=== Dialog Edit Print Ranges ===
 +
 
 +
Main purpose of the dialog is to allow editing and removing single print ranges, allow use of named print ranges, and allow ordering the print ranges. The settings effect only the current active sheet.
 +
 
 +
When the user opens the dialog, while cell ranges are selected, these are added at the end of the list, if they are not already contained in the list.
 +
''To discuss: Is this behavior desired?''
 +
 
 +
[[image:MockUp_Dialog_Edit_Print_Ranges_2.png]]
 +
 
 +
==== Title ====
 +
Edit Print Ranges
 +
 
 +
==== ScrollBar ====
 +
Scrolling down adds new lines.
 +
 
 +
==== Cell Address Field ====
 +
The user can define a print range by selection or by choosing a named print range from the drop-down list or by manually entering a cell range address.
 +
 
 +
The drop-down-list contains all named ranges. Only the cell range address is used, not the sheet identifier.
 +
 
 +
''To discuss: When is an invalid address detected and what is the reaction on an error?''
 +
 
 +
==== Delete Button ====
 +
Removes the line from the print range list. Deleting the content of the address field has the same effect as using the delete icon.
 +
There is no ''Remove all'' because this can be done in the menu.
 +
 
 +
==== Up and Down Buttons ====
 +
The order of the list determines the order when printed. To move a print range up or down set the cursor in the address field. Then click the Up or Down button to move the field one position up or down.
 +
 
 +
==== Close ====
 +
The dialog is closed. The settings are used as they had been shown.
 +
 
 +
==== Help ====
 +
Calls the help page of the dialog.
 +
 
 +
 
 +
=== Page Break Preview ===
 +
 
 +
When a user drags an edge of a print range in Page Break Preview, this print range is altered immediately in all selected sheets. If the print range has been set via a named cell range, the entry in the print range list in the dialog ''Edit Print Ranges'' does no longer contains the name but is replaced with the direct cell range address.
 +
 
 +
 
 +
=== Dialog Repeat Rows/Columns ===
 +
Main purpose of the dialog is to allow use of named repeat rows and named repeat columns and to delete settings. The settings effect only the current active sheet.
 +
 
 +
[[image:Mockup_Edit_Repeat_RowColumn_2.png]]
 +
 
 +
----
 +
 
 +
=Print Ranges Version 1 (2009-10-12)=
  
 
{{Specification_Header|Regina Henschel||Preliminary}}
 
{{Specification_Header|Regina Henschel||Preliminary}}
  
 
== Abstract ==
 
== Abstract ==
Describes details for the sub-item '''Print Ranges…''' in the menu '''Format''' in '''Calc'''.
+
Describes details for the sub-item '''Print Ranges…''' in the menu '''Format''' and the corresponding field in the status bar in '''Calc'''.
 
__TOC__
 
__TOC__
  
Line 72: Line 254:
 
| bgcolor="#dddddd" | '''Acronym / Abbreviation''' || bgcolor="#dddddd" | '''Definition'''
 
| bgcolor="#dddddd" | '''Acronym / Abbreviation''' || bgcolor="#dddddd" | '''Definition'''
 
|-
 
|-
| <WYSIWYG>
+
| ODF
| <What You See Is What You Get>
+
| Open Document Format
 
|-
 
|-
 
|}
 
|}
  
 
== Detailed Specification ==
 
== Detailed Specification ==
 +
 +
=== Glossar ===
 +
A single cell or a rectangle area of cells can be used as print range.
 +
A ''print range list'' is a single line. I contains cell addresses or cell range addresses, separated by semicolon. All addresses are absolute and they do not contain a sheet identifier. In the input line of the dialog ''Edit Print Ranges'' the name of a named print range is allowed too.
 +
 
=== Motivation ===
 
=== Motivation ===
The OpenDocument specification defines the attributes '''table:print''' and '''table:print-ranges''', which need an appropriate UI in Calc.
+
The ODF specification defines the attributes '''table:print''' and '''table:print-ranges''', which need an appropriate UI in Calc.
  
 
Three settings are possible
 
Three settings are possible
 
: table:print=”false”
 
: table:print=”false”
:: The worksheet is not printed.
+
:: The sheet is not printed.
 
: table:print=”true” and no print ranges defined
 
: table:print=”true” and no print ranges defined
 
:: The smallest rectangle cell range is printed, that contains all used cells.
 
:: The smallest rectangle cell range is printed, that contains all used cells.
Line 92: Line 279:
 
The current UI has a lot of short comings:
 
The current UI has a lot of short comings:
  
*The current item ''Print Range'' does not only lead to defining and altering print ranges, but it contains managing of repeat column and repeat row too. The user has no hint, that this settings are inside the edit dialog of print ranges and do not find them. Therefore they should be moved away and get an own dialog.
+
*The current item ''Print Range'' does not only lead to defining and altering print ranges, but it contains managing of repeat rows and repeat columns too. The user has no hint, that this settings are inside the edit dialog of print ranges and do not find them. Therefore they should be moved away and get an own dialog.
 
*The edit dialog of print ranges shows the list of ranges in one long line. The user cannot see the ranges all at once and editing is inconvenient. If the user wants to remove or alter a range, he has to move horizontally in the input field.
 
*The edit dialog of print ranges shows the list of ranges in one long line. The user cannot see the ranges all at once and editing is inconvenient. If the user wants to remove or alter a range, he has to move horizontally in the input field.
 +
*The input line in the edit dialog does not allow to add a named print range using the name, but the user must type the connected cell range address in the input field.
 
*The user cannot set the variant <tt>table:print=”true” and no print ranges defined</tt> in the  first level of the current sub-menu, but has to open the edit dialog.
 
*The user cannot set the variant <tt>table:print=”true” and no print ranges defined</tt> in the  first level of the current sub-menu, but has to open the edit dialog.
*The user cannot remove one single print range with the item ''Remove'', but has to open the edit dialog.
+
*The user cannot remove one single print range with the item ''Remove'', but has to open the edit dialog and edit the print range list.
*The user does not know, which setting is used, when he removes all print ranges. It should be the setting <tt>table:print=”true” and no print ranges defined</tt> but today it is the setting <tt>table:print=”false”</tt>.
+
*The user does not know, which setting is used, when he removes all print ranges. It should be the setting <tt>table:print="true" and no print ranges defined</tt> but today it is the setting <tt>table:print="false"</tt>.
*The value ''entire sheet'' is misleading, because not the entire worksheet is printed, but only the area of the used cells.
+
*The value ''entire sheet'' is misleading, because not the entire sheet is printed, but only the area of the used cells.
*The user has no information about the current setting unless he opens the edit dialog.
+
*The user has no information about the current setting in Normal View.
 +
 
 +
=== Format > Repeat Rows/Columns… ===
 +
 
 +
Opens the dialog ''Edit Repeat Rows/Columns''.
 +
 
 +
==== Dialog Edit Repeat Rows/Columns ====
 +
Repeat rows and repeat columns belong to the attribute ''table-header-rows'' and ''tab-header-columns'' respectively in ODF file format.
 +
 
 +
[[image:Mockup_Edit_Repeat_RowColumn.png]]
 +
 
 +
;Title
 +
:Edit Repeat Rows/Columns.
 +
;Content
 +
:The dialog contains the lower part of the former ''Edit Print Ranges'' dialog. It behaves same as in OOo3.2.
  
=== Format > Print Ranges ===
+
=== Format > Print Ranges ===
The item ''Print Ranges'' opens a sub-menu. It contains
+
The item ''Print Ranges'' opens a sub-menu. This sub-menu contains
 
<pre>
 
<pre>
 
No Print
 
No Print
Line 113: Line 315:
  
 
;No Print
 
;No Print
:Sets <tt>table:print=”false”</tt>. The worksheet is not printed. If any print ranges exist, they are not deleted but only disabled. They can be reused via dialog. Clicking this item effects all selected worksheets.
+
:Sets <tt>table:print=”false”</tt>. The sheet is not printed. If any print ranges exist, they are not deleted but only disabled. They can be reused via dialog. Clicking this item effects all selected sheets.
  
 
;Automatic
 
;Automatic
:Sets <tt>table:print=”true”</tt>. If any print ranges exist, they are deleted. The list has then the only entry ''- Automatic -''. The smallest rectangle cell range is printed, that contains all used cells. Clicking this item effects all selected worksheets.
+
:Sets <tt>table:print=”true”</tt>. If any print ranges exist, they are deleted. The list in the dialog ''Edit Print Ranges'' has then the only entry ''- Automatic -''. The smallest rectangle cell range is printed, that contains all used cells. Clicking this item effects all selected sheets.
  
 
;User-defined…
 
;User-defined…
:Opens a dialog to manage print ranges.
+
:Opens the dialog ''Edit Print Ranges''.
  
 
;Define
 
;Define
:Sets the current selection as print ranges. If the worksheet has print ranges defined before, they are deleted. If the worksheet was set to ''No Print'' the attribute <tt>table:print</tt> is set to <tt>true</tt> automatically. Clicking this item effects all selected worksheets.
+
:Sets the current selection as print ranges. If the sheet has print ranges defined before, they are deleted. If the sheet was set to ''No Print'' the attribute <tt>table:print</tt> is set to <tt>true</tt> automatically. Clicking this item effects all selected sheets.
  
 
;Add
 
;Add
:Adds the current selection to the list of print ranges. If the worksheet was set to ''No Print'' the current selection becomes the first items in the list and the attribute <tt>table:print</tt> is set to <tt>true</tt> automatically. Clicking this item effects all selected worksheets.
+
:Adds the current selection to the list of print ranges. If the sheet was set to ''No Print'' the current selection becomes the first items in the list and the attribute <tt>table:print</tt> is set to <tt>true</tt> automatically. Clicking this item effects all selected sheets.
  
 
;Remove
 
;Remove
:If a print range exists, that contains all currently selected cells or—if nothing is selected—the currently active cell, then this print range is deleted. If no print range meets the condition nothing is done. If the only print range is deleted, the print range list is set to ''- Automatic -''. Clicking this item effects all selected worksheets.
+
:If a print range exists, that contains all currently selected cells, then this print range is deleted. If no print range meets the condition, nothing is done. If the only print range is deleted, the attribute <tt>table:print-ranges</tt> is deleted, which corresponds to the print state ''Automatic''. Clicking this item effects all selected sheets.
 +
 
 +
=== Status bar ===
 +
The status bar shows the current state of print ranges for the active sheet. The field has the possible entries
 +
''No Print'' / ''Automatic'' / ''User''.
 +
 
 +
Double-Click on the field opens the dialog ''Edit Print Ranges''.
 +
 
 +
=== Dialog Edit Print Ranges ===
 +
 
 +
Main purpose of the dialog is to control the print ranges and correct errors directly.
 +
 
 +
[[image:Mockup_Dialog_Edit_Print_Ranges.png]]
 +
 
 +
==== Title ====
 +
Edit Print Ranges
 +
 
 +
==== List of Print Ranges ====
 +
If no print ranges are defined but the sheet is set to print, then the list contains the item ''- Automatic -''.  If the sheet is set to ''No Print'' the list is disabled, but contains the previous defined ranges if any exist and is empty otherwise.
 +
 
 +
The list allows multiple choice via Shift and Ctrl, but no direct editing of an entry. The print ranges are shown one below the other. The ranges are printed in the order from top of the list to end. The user can mark an entry and drag it to a new position or use the arrow keys on the keyboard to move the entry.
 +
 
 +
==== Sheet ====
 +
 
 +
The drop-down-list ''Sheet'' contains the names of all visible sheets of the document. The names of the currently via tab selected sheets are emphasized in bold. The list allows only single choice. The active sheet is chosen by default.
 +
 
 +
Multi choice is senseless, because the sheets might have different ranges and different print state. So the list ''List of Print Ranges'' would not be possible and the button ''Enable printing/Disable Printing'' would have an undefined state. The user can set a couple of sheets to ''No Print'' or ''Automatic'' in the menu, no need to do it here.
 +
 
 +
==== Print Ranges ====
 +
The list ''Print Range'' is a combo-list. The user can edit the input line or choose an entry from the drop-down-list. The list shows all named print ranges, each with name and cell range. If the user has selected cells or cell ranges before he opens the dialog, this corresponding print range list is entered already in the input line, otherwise the input line contains the entry ''- type or select -''. The user can edit the entry in the input line directly or via selection. Selecting works as usual concerning minimization and building a list using the semicolon as delimiter. The user can add a print range name manually.
 +
 
 +
The input line is disabled when the chosen sheet is set to ''No Print''.
 +
 
 +
==== Buttons ====
 +
The Buttons ''Add''/''Remove''/''Modify'' are disabled, if the chosen sheet is set to ''No Print''.
 +
 
 +
;Add
 +
:The content in the input field is added at the end to the print range list of the chosen sheet. The change is immediately visible in the list. If the input line contains a list, the list items are shown one below the other. Print range names are replaced with the associated addresses followed by the name in round brackets, ''$A$2:$D$50 (Januar)'' for example. If the input line contains the default item ''- type or select -'' nothing is done. If the input line contains an invalid entry, an error message is shown.
 +
 
 +
;Modify
 +
:If more than one entry is chosen in the list ''List of Print Ranges'' the ''Modify'' button is disabled. The chosen item in the list is replaced with the content of the input field. Print range names are replaced with the associated addresses followed by the name in round brackets, ''$A$2:$D$50 (Januar)'' for example. If the input line contains a list, the list items are shown one below the other. If the input line contains the default item ''- type or select -'' or no list entry is chosen, nothing is done. If the input line contains an invalid entry, an error message is shown.
 +
 
 +
;Remove
 +
:The items, which are chosen in the list, are removed from the selected sheet. The change is immediately visible in the list. If the user removes all print ranges, the item ''- Automatic -'' is entered in the list.
 +
 
 +
:There is no button ''Remove all'' because the list allows multiple selection via Shift and Ctrl.
 +
 
 +
;Close
 +
:The dialog is closed. If a new entry in the input line is not applied yet, it is lost.
 +
 
 +
:The entry is not applied automatically when closing, because the user might have called the dialog only for controlling. Otherwise the current selection would be entered as print range which might then not be intended.
 +
 
 +
;Enable/Disable Printing
 +
:If the sheet is set to ''No Print'' the button label is ''Enable Printing''. If the sheet is set to print then the label is ''Disable Printing''. Clicking the button toggles the print state.
 +
 
 +
:When printing is enabled via this button, the range list and the input line is enabled. If the range list has been empty, it gets the entry ''- Automatic -''. If the sheet is set to ''No Print'' the range list and the input line are disabled, but nothing is erased. This enabling and disabling behavior allows to temporarily exclude a sheet from printing without loosing the print ranges.
 +
 
 +
;Help
 +
:Calls the help page of the dialog.
 +
 
 +
=== Page Break Preview ===
 +
 
 +
When a user drags an edge of a print range in Page Break Preview, this print range is altered immediately in all selected sheets. If the print range has been set via a named cell range, the entry in the list ''List of print ranges'' in the dialog ''Edit Print Ranges'' does no longer contains the name.
  
 
[[Specification_Template_Help#Detailed_Specification|Help]] | [[UI-Elements|User Interface Element Templates]] | [[Specification_Example|Example Spec]]
 
[[Specification_Template_Help#Detailed_Specification|Help]] | [[UI-Elements|User Interface Element Templates]] | [[Specification_Example|Example Spec]]

Latest revision as of 10:49, 23 October 2009

Print Ranges Version 2 (2009-20-13)

Specification Status
Author Regina Henschel
Last Change
Status (Help) Preliminary

Abstract

Reorganize handling of the sheet properties printable, print ranges and repeat rows/columns


References

Reference Document Check Location (URL)
Prerequisites [passed/failed] n/a
Product Requirement, RFE, Issue ID (required) [available/not available] <PLEASE ENTER LOCATION HERE>
Accessibility Check (required) See accessibility section for check list
Test case specification (required) [available/not available] <PLEASE ENTER LOCATION HERE>
IDL Specification [available/not available] <PLEASE ENTER LOCATION HERE>
Software Specification Rules n/a n/a
OASIS OpenDocument Specification v1.1 http://www.oasis-open.org/specs/#opendocumentv1.1


Acronyms and Abbreviations

Acronym / Abbreviation Definition
ODF Open Document Format

Detailed Specification

Glossar

A single cell or a rectangle area of cells can be used as print range. In this specification for both the term cell range is used.

A print range is a cell address or a cell range address. All addresses are absolute and they do not contain a sheet identifier.

A print range list is an ordered list of print ranges. If it is written in one line, the print ranges are separated by semicolon.

Motivation

The ODF specification defines the attributes table:print and table:print-ranges, which need an appropriate UI in Calc.

Three settings are possible

table:print="false"
The sheet is not printed.
table:print="true" and no print ranges defined
The smallest rectangle cell range is printed, that contains all used cells.
table:print="true" and print ranges are defined.
The print ranges are printed.

These attributes are not visible to the user, but used in the file format.

The current UI has a lot of short comings:

  • The current item Print Range does not only lead to defining and altering print ranges, but it contains managing of repeat rows and repeat columns too. The user has no hint, that this settings are inside the edit dialog of print ranges and do not find them. Therefore they should be moved away and get an own dialog.
  • The edit dialog of print ranges shows the list of ranges in one long line. The user cannot see the ranges all at once and editing is inconvenient. If the user wants to remove or alter a range, he has to move horizontally in the input field.
  • The input line in the edit dialog does not allow to add a named print range using the name, but the user must type the connected cell range address in the input field.
  • The user cannot set the variant table:print="true" and no print ranges defined in the first level of the current sub-menu, but has to open the edit dialog.
  • The user cannot remove one single print range with the item Remove, but has to open the edit dialog.
  • The user does not know, which setting is used, when he removes all print ranges.
  • The value entire sheet is misleading, because not the entire sheet is printed, but only the area of the used cells.
  • The user has no information about the current setting in Normal View.

Format > Print ranges

The item Print ranges ► opens a sub-menu. This sub-menu contains

Enable Print
Disable Print
-------------
Define Print Range
Add Print Range
Remove Print Range
Edit Print Ranges…
--------------
Define Repeat Rows/Columns
Edit Repeat Rows/Columns…

The items Define Print Range, Add Print Range, and Undo Print Range are also available in the context menu of the sheet in 'Page Break Preview'.

Enable Print
Sets table:print="true". The sheet will be printed. If a sheet has got print ranges, they are used, otherwise the smallest rectangle cell range is printed, that contains all used cells. Clicking this item effects all selected sheets.
Disable Print
Sets table:print="false". The sheet will not be printed. If a sheet has got print ranges, they are not deleted but reused when printing is enabled. Clicking this item effects all selected sheets.
Define Print Range
Sets the current selection as print ranges. If the sheet has print ranges defined before, they are deleted. This does not effect, whether the sheet is printed or not. Clicking this item effects all selected sheets.

To discuss: Should Define automatically enable print?

Add Print Range
Adds the current selection to the list of print ranges. This does not effect, whether the sheet is printed or not. Clicking this item effects all selected sheets.
Remove Print Range
The print range list becomes empty, so that the smallest rectangle cell range is printed, that contains all used cells. This does not effect, whether the sheet is printed or not. Clicking this item effects all selected sheets.
Edit Print Ranges…
Opens the dialog Edit Print Ranges.
Define Repeat Rows/Columns
If adjacent whole rows or adjacent whole columns are selected, these are set as repeat rows or repeat columns respectively. Otherwise nothing is done. If the whole sheet is selected nothing is done.
Edit Repeat Rows/Colums…
Opens the dialog Edit Repeat Rows/Columns
To discuss: Should there be an item 'Remove all Repeat Rows/Columns' too? Is the item 'Define Repeat Rows/Columns' useful?'

Dialog Edit Print Ranges

Main purpose of the dialog is to allow editing and removing single print ranges, allow use of named print ranges, and allow ordering the print ranges. The settings effect only the current active sheet.

When the user opens the dialog, while cell ranges are selected, these are added at the end of the list, if they are not already contained in the list. To discuss: Is this behavior desired?

MockUp Dialog Edit Print Ranges 2.png

Title

Edit Print Ranges

ScrollBar

Scrolling down adds new lines.

Cell Address Field

The user can define a print range by selection or by choosing a named print range from the drop-down list or by manually entering a cell range address.

The drop-down-list contains all named ranges. Only the cell range address is used, not the sheet identifier.

To discuss: When is an invalid address detected and what is the reaction on an error?

Delete Button

Removes the line from the print range list. Deleting the content of the address field has the same effect as using the delete icon. There is no Remove all because this can be done in the menu.

Up and Down Buttons

The order of the list determines the order when printed. To move a print range up or down set the cursor in the address field. Then click the Up or Down button to move the field one position up or down.

Close

The dialog is closed. The settings are used as they had been shown.

Help

Calls the help page of the dialog.


Page Break Preview

When a user drags an edge of a print range in Page Break Preview, this print range is altered immediately in all selected sheets. If the print range has been set via a named cell range, the entry in the print range list in the dialog Edit Print Ranges does no longer contains the name but is replaced with the direct cell range address.


Dialog Repeat Rows/Columns

Main purpose of the dialog is to allow use of named repeat rows and named repeat columns and to delete settings. The settings effect only the current active sheet.

Mockup Edit Repeat RowColumn 2.png


Print Ranges Version 1 (2009-10-12)

Specification Status
Author Regina Henschel
Last Change
Status (Help) Preliminary

Abstract

Describes details for the sub-item Print Ranges… in the menu Format and the corresponding field in the status bar in Calc.


References

Reference Document Check Location (URL)
Prerequisites [passed/failed] n/a
Product Requirement, RFE, Issue ID (required) [available/not available] <PLEASE ENTER LOCATION HERE>
Accessibility Check (required) See accessibility section for check list
Test case specification (required) [available/not available] <PLEASE ENTER LOCATION HERE>
IDL Specification [available/not available] <PLEASE ENTER LOCATION HERE>
Software Specification Rules n/a n/a
OASIS OpenDocument Specification v1.1 http://www.oasis-open.org/specs/#opendocumentv1.1

Contacts

Role Name E-Mail Address
Developer <First Name, Last Name> <User@openoffice.org>
Quality Assurance <First Name, Last Name> <User@openoffice.org>
Documentation <First Name, Last Name> <User@openoffice.org>
User Experience <First Name, Last Name> <User@openoffice.org>

Acronyms and Abbreviations

Acronym / Abbreviation Definition
ODF Open Document Format

Detailed Specification

Glossar

A single cell or a rectangle area of cells can be used as print range. A print range list is a single line. I contains cell addresses or cell range addresses, separated by semicolon. All addresses are absolute and they do not contain a sheet identifier. In the input line of the dialog Edit Print Ranges the name of a named print range is allowed too.

Motivation

The ODF specification defines the attributes table:print and table:print-ranges, which need an appropriate UI in Calc.

Three settings are possible

table:print=”false”
The sheet is not printed.
table:print=”true” and no print ranges defined
The smallest rectangle cell range is printed, that contains all used cells.
table:print=”true” and print ranges are defined.
The print ranges are printed.

These attributes are not visible to the user, but used in the file format.

The current UI has a lot of short comings:

  • The current item Print Range does not only lead to defining and altering print ranges, but it contains managing of repeat rows and repeat columns too. The user has no hint, that this settings are inside the edit dialog of print ranges and do not find them. Therefore they should be moved away and get an own dialog.
  • The edit dialog of print ranges shows the list of ranges in one long line. The user cannot see the ranges all at once and editing is inconvenient. If the user wants to remove or alter a range, he has to move horizontally in the input field.
  • The input line in the edit dialog does not allow to add a named print range using the name, but the user must type the connected cell range address in the input field.
  • The user cannot set the variant table:print=”true” and no print ranges defined in the first level of the current sub-menu, but has to open the edit dialog.
  • The user cannot remove one single print range with the item Remove, but has to open the edit dialog and edit the print range list.
  • The user does not know, which setting is used, when he removes all print ranges. It should be the setting table:print="true" and no print ranges defined but today it is the setting table:print="false".
  • The value entire sheet is misleading, because not the entire sheet is printed, but only the area of the used cells.
  • The user has no information about the current setting in Normal View.

Format > Repeat Rows/Columns…

Opens the dialog Edit Repeat Rows/Columns.

Dialog Edit Repeat Rows/Columns

Repeat rows and repeat columns belong to the attribute table-header-rows and tab-header-columns respectively in ODF file format.

Mockup Edit Repeat RowColumn.png

Title
Edit Repeat Rows/Columns.
Content
The dialog contains the lower part of the former Edit Print Ranges dialog. It behaves same as in OOo3.2.

Format > Print Ranges ‣

The item Print Ranges opens a sub-menu. This sub-menu contains

No Print
Automatic
User-defined…
--------------
Define
Add
Remove
No Print
Sets table:print=”false”. The sheet is not printed. If any print ranges exist, they are not deleted but only disabled. They can be reused via dialog. Clicking this item effects all selected sheets.
Automatic
Sets table:print=”true”. If any print ranges exist, they are deleted. The list in the dialog Edit Print Ranges has then the only entry - Automatic -. The smallest rectangle cell range is printed, that contains all used cells. Clicking this item effects all selected sheets.
User-defined…
Opens the dialog Edit Print Ranges.
Define
Sets the current selection as print ranges. If the sheet has print ranges defined before, they are deleted. If the sheet was set to No Print the attribute table:print is set to true automatically. Clicking this item effects all selected sheets.
Add
Adds the current selection to the list of print ranges. If the sheet was set to No Print the current selection becomes the first items in the list and the attribute table:print is set to true automatically. Clicking this item effects all selected sheets.
Remove
If a print range exists, that contains all currently selected cells, then this print range is deleted. If no print range meets the condition, nothing is done. If the only print range is deleted, the attribute table:print-ranges is deleted, which corresponds to the print state Automatic. Clicking this item effects all selected sheets.

Status bar

The status bar shows the current state of print ranges for the active sheet. The field has the possible entries No Print / Automatic / User.

Double-Click on the field opens the dialog Edit Print Ranges.

Dialog Edit Print Ranges

Main purpose of the dialog is to control the print ranges and correct errors directly.

Mockup Dialog Edit Print Ranges.png

Title

Edit Print Ranges

List of Print Ranges

If no print ranges are defined but the sheet is set to print, then the list contains the item - Automatic -. If the sheet is set to No Print the list is disabled, but contains the previous defined ranges if any exist and is empty otherwise.

The list allows multiple choice via Shift and Ctrl, but no direct editing of an entry. The print ranges are shown one below the other. The ranges are printed in the order from top of the list to end. The user can mark an entry and drag it to a new position or use the arrow keys on the keyboard to move the entry.

Sheet

The drop-down-list Sheet contains the names of all visible sheets of the document. The names of the currently via tab selected sheets are emphasized in bold. The list allows only single choice. The active sheet is chosen by default.

Multi choice is senseless, because the sheets might have different ranges and different print state. So the list List of Print Ranges would not be possible and the button Enable printing/Disable Printing would have an undefined state. The user can set a couple of sheets to No Print or Automatic in the menu, no need to do it here.

Print Ranges

The list Print Range is a combo-list. The user can edit the input line or choose an entry from the drop-down-list. The list shows all named print ranges, each with name and cell range. If the user has selected cells or cell ranges before he opens the dialog, this corresponding print range list is entered already in the input line, otherwise the input line contains the entry - type or select -. The user can edit the entry in the input line directly or via selection. Selecting works as usual concerning minimization and building a list using the semicolon as delimiter. The user can add a print range name manually.

The input line is disabled when the chosen sheet is set to No Print.

Buttons

The Buttons Add/Remove/Modify are disabled, if the chosen sheet is set to No Print.

Add
The content in the input field is added at the end to the print range list of the chosen sheet. The change is immediately visible in the list. If the input line contains a list, the list items are shown one below the other. Print range names are replaced with the associated addresses followed by the name in round brackets, $A$2:$D$50 (Januar) for example. If the input line contains the default item - type or select - nothing is done. If the input line contains an invalid entry, an error message is shown.
Modify
If more than one entry is chosen in the list List of Print Ranges the Modify button is disabled. The chosen item in the list is replaced with the content of the input field. Print range names are replaced with the associated addresses followed by the name in round brackets, $A$2:$D$50 (Januar) for example. If the input line contains a list, the list items are shown one below the other. If the input line contains the default item - type or select - or no list entry is chosen, nothing is done. If the input line contains an invalid entry, an error message is shown.
Remove
The items, which are chosen in the list, are removed from the selected sheet. The change is immediately visible in the list. If the user removes all print ranges, the item - Automatic - is entered in the list.
There is no button Remove all because the list allows multiple selection via Shift and Ctrl.
Close
The dialog is closed. If a new entry in the input line is not applied yet, it is lost.
The entry is not applied automatically when closing, because the user might have called the dialog only for controlling. Otherwise the current selection would be entered as print range which might then not be intended.
Enable/Disable Printing
If the sheet is set to No Print the button label is Enable Printing. If the sheet is set to print then the label is Disable Printing. Clicking the button toggles the print state.
When printing is enabled via this button, the range list and the input line is enabled. If the range list has been empty, it gets the entry - Automatic -. If the sheet is set to No Print the range list and the input line are disabled, but nothing is erased. This enabling and disabling behavior allows to temporarily exclude a sheet from printing without loosing the print ranges.
Help
Calls the help page of the dialog.

Page Break Preview

When a user drags an edge of a print range in Page Break Preview, this print range is altered immediately in all selected sheets. If the print range has been set via a named cell range, the entry in the list List of print ranges in the dialog Edit Print Ranges does no longer contains the name.

Help | User Interface Element Templates | Example Spec

Accessibility

Accessibility is the responsibility of the I-Team, beginning with UX, DEV and QA, to ensure that the following requirements are fulfilled:

  1. Is the feature fully keyboard accessible?
    (Ex: "I can go everywhere and use every function using the keyboard only"

    <START TYPING HERE>
  2. Have I specified visual alternatives for the case that the specified feature includes audio as output?
    <START TYPING HERE>
  3. Are text alternatives for all icons and graphics available?
    <Start typing here>
  4. Don't provide important information in colors alone
    (Ex: marking important information hard coded in red)

    <START TYPING HERE>
  5. Does the specified feature respect system settings for font, size, and color for all windows and user interface elements?
    <START TYPING HERE>
  6. Have I ensured that flash rates do not exceed 2 hertz for blinking text, objects, or other elements? In any case, try to avoid flashing UI elements
    <START TYPING HERE>
  7. Ensure that assistive technology (AT) (like ZoomText or Orca) is able to read everything.
    <START TYPING HERE>

QUESTIONS?

If you need help while designing, implementing or testing the accessibility of the UI, ask/visit:

  1. The accessibility check list at the OpenOffice.org Wiki
  2. accessibility@ui.openoffice.org (The accessibility mailing lists, preferred)
  3. For specific implementation details, architecture: mt@openoffice.org (Malte Timmermann)
  4. For specific UX and testing questions: es@openoffice.org (Éric Savary)


Migration

<START TYPING HERE --- If this part is irrelevant state a reason for its absence.>

Configuration

<START TYPING HERE --- If this part is irrelevant state a reason for its absence.>

Help | Configuration Table Template

File Format

<START TYPING HERE --- If this part is irrelevant state a reason for its absence.> Help

Help | File Format Table Template

Open Issues

<State a bulleted list of issues Issue here>

Personal tools