Difference between revisions of "Notes2 Design NoteAnchor"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Ooops. Forgot to close the table. Proposal "Boxes (Note Anchor Area)")
(Added proposal "Boxes for Special Objects" Proposed Designs)
Line 79: Line 79:
 
* For comparison, a "Double Arrow (Note Anchor Point)" is shown.
 
* For comparison, a "Double Arrow (Note Anchor Point)" is shown.
 
|}
 
|}
 +
 +
=== Proposal "Boxes for Special Objects" ===
 +
 +
This proposal extends the proposal "Boxes".
 +
 +
User do not only want to comment their text, they may also want to add Notes to every kind of object in OpenOffice.org Writer (e.g. graphics, tables, frames or OLE objects). Those objects require different behavior of the Notes functionality.
 +
 +
Challenge: Working with Notes on objects like graphics, tables or frames is a bit tricky, because...
 +
* ... those objects can be positioned everywhere in the text or on the page (and therefore may not respect the text baseline)
 +
* ... those objects can have nearly every shape (e.g. clipart may have translucent surrounding the user cannot see, for Writer it is just a rectangle)
 +
* ... those objects can be very huge and may span several paragraphs or pages
 +
* ... those objects usually have content with many (different) colors
 +
 +
Detailed Design for objects like graphics, tables or frames:
 +
* Note Window: No changes.
 +
* Note Connector Line: If the Note Window is positioned without the influence of other Note Windows, the Note Connector Line will be drawn without the "bend". (The Note Connector Line starts at the top of the Note Anchor, therefore the bend is not needed or maybe even counterproductive.)
 +
* Note Anchor:
 +
** To mark up the position of the Anchor, only the Note Anchor Area will be used. (The Note Anchor Point makes no sense because those objects are not infinitesimal small.)
 +
** The design of the Note Anchor Area is changed according to the requirements of those objects. In contrast to the Note Anchor Area for text:
 +
*** ... use a slightly darker border line (60%). (The Note Anchor Area for text does only use darker border lines at the bottom to emphasize the text.)
 +
*** ... do not use arrows. (The Note Anchor Area for text does use arrows to indicate start and end of text selection. This is not necessary here, because the smallest selection is the object itself.)
 +
** The Note Anchor Area for objects is a rectangle matching the bounding box of the object (independent from the shape or the position of the object itself).
 +
** The background color of the Note Anchor Area will shine through the objects, if those objects contain transparent/translucent areas.
 +
 +
Examples:
 +
{| class="prettytable" border="0"
 +
|-
 +
| [[Image:Notes2_DesignProposal_AnchorBoxed_Graphic.png|256px|thumb|center]]
 +
| The mockup shows an embedded graphic (aligned right) with a Note on that graphic.
 +
 +
|-
 +
| [[Image:Notes2_DesignProposal_AnchorBoxed_Table.png|256px|thumb|center]]
 +
| The mockup shows an embedded table (full page width):
 +
* a Note anchored on on the complete table
 +
* a Note anchored on the content of one of the table cells
 +
|}
 +
 +
Comments / Open Points:
 +
* Graphics: It should be sufficient to support Notes which are bound on the whole graphic, although one user asked for Notes on individual point inside graphics [http://www.openoffice.org/issues/show_bug.cgi?id=85814 issue 85814].
 +
* Tables:
 +
** If the user selects the whole table (all table cells) and inserts a Note, then the whole table us used as reference (anchor) for the Note. In other cases, only the content of the table will be used as reference.
 +
** Open point: What if the user does only select certain rows/columns? Will we support Notes on subsections of tables?
 +
* Open point: What if the objects do contain e.g. bright text and itself have a dark background. The user will not be able to indentify the information. On the other hand, to mark up those objects by a border will make it hard to identify the Note Anchors.
 +
  
 
=== Proposal "Resizing (Note Anchor Area)" ===
 
=== Proposal "Resizing (Note Anchor Area)" ===

Revision as of 13:44, 19 February 2008

< Back to the Notes2 main page

Summary

The Note Anchor is the element which marks the reference position of the Note Data in the Document.

Rationale

For improved clearness, the Notes Data is not displayed inside the Document. Consequently, an Anchor is necessary to indicate the reference position.

Assumptions

tbd

Proposed Designs

Proposal "Triangle (Note Anchor Point)"

tbd

Proposal "Double Arrow (Note Anchor Point)"

tbd

Proposal "Simple Brackets (Note Anchor Area)"

Notes2 DesignProposal AnchorBracket TextExample.png
The Note Anchor Area is marked up by two brackets with a corresponding text background color between them.

Advantages:

  • Unobtrusive design (only few text overlay)
  • Brackets are often used by users to comment things.

Disadvantages:

  • Background color of document text can not be shown


Detailed specification:

  • The drawing at the bottom shows a region of a horizontal text line:
    • The ascender line (line n) marks the highest ascender of the anchor text
    • The descender line marks the lowest descender of the anchor text
    • The ascender line (line n+1) marks the highest ascender line of the text in the whole subsequent text line
    • g is the height between descender line and ascender line (line n+1) and therefore the visible gap between text line n and text line n+1.
  • Anchor area:
    • The anchor area is drawn between text background color and text (if viewed as a kind of stack).
    • a is the height between ascender line and descender line
    • b is the length between “first character of anchor text begins” and “last character in anchor text ends”. (Maybe we need here a special handling if b < 2e-2d.)
  • Anchor brackets:
    • In general, the lines for the anchor brackets stay behind the text.
    • e = 1/4 a
    • c = 1/3 e (but at least 1 screen pixel)
    • d = c (but at least 1 screen pixel)
    • f = 1/4 a
    • x = c
    • y = 2 x
    • z = 1.5 d
  • Example (rounded): If a = 12 screen pixels, then: e = 3 screen pixels, c = 1 screen pixel, d = 1 screen pixel, f=3 screen pixels, x = 1 screen pixel, y = 2 screen pixels, z = 2 screen pixels
Notes2 DesignProposal AnchorBracket Dimensions.png

Proposal "Boxes (Note Anchor Area)"

The Note Anchor Area is marked up by a box with a corresponding text background color in it. Two small triangles (at the lower left and right side) and a darker bottom line do indicate the beginning and the end of the Note Anchor Area.

Advantages: tbd

Disadvantages: tbd

Notes2 DesignProposal AnchorBoxed forWiki.png
The mockup shows the following items:
  • Several boxed Note Anchor Areas for long strings
  • A boxed Note Anchor Area which a line break
  • A very small Note Anchor Area (only 'i')
  • For comparison, a "Double Arrow (Note Anchor Point)" is shown.

Proposal "Boxes for Special Objects"

This proposal extends the proposal "Boxes".

User do not only want to comment their text, they may also want to add Notes to every kind of object in OpenOffice.org Writer (e.g. graphics, tables, frames or OLE objects). Those objects require different behavior of the Notes functionality.

Challenge: Working with Notes on objects like graphics, tables or frames is a bit tricky, because...

  • ... those objects can be positioned everywhere in the text or on the page (and therefore may not respect the text baseline)
  • ... those objects can have nearly every shape (e.g. clipart may have translucent surrounding the user cannot see, for Writer it is just a rectangle)
  • ... those objects can be very huge and may span several paragraphs or pages
  • ... those objects usually have content with many (different) colors

Detailed Design for objects like graphics, tables or frames:

  • Note Window: No changes.
  • Note Connector Line: If the Note Window is positioned without the influence of other Note Windows, the Note Connector Line will be drawn without the "bend". (The Note Connector Line starts at the top of the Note Anchor, therefore the bend is not needed or maybe even counterproductive.)
  • Note Anchor:
    • To mark up the position of the Anchor, only the Note Anchor Area will be used. (The Note Anchor Point makes no sense because those objects are not infinitesimal small.)
    • The design of the Note Anchor Area is changed according to the requirements of those objects. In contrast to the Note Anchor Area for text:
      • ... use a slightly darker border line (60%). (The Note Anchor Area for text does only use darker border lines at the bottom to emphasize the text.)
      • ... do not use arrows. (The Note Anchor Area for text does use arrows to indicate start and end of text selection. This is not necessary here, because the smallest selection is the object itself.)
    • The Note Anchor Area for objects is a rectangle matching the bounding box of the object (independent from the shape or the position of the object itself).
    • The background color of the Note Anchor Area will shine through the objects, if those objects contain transparent/translucent areas.

Examples:

Notes2 DesignProposal AnchorBoxed Graphic.png
The mockup shows an embedded graphic (aligned right) with a Note on that graphic.
Notes2 DesignProposal AnchorBoxed Table.png
The mockup shows an embedded table (full page width):
  • a Note anchored on on the complete table
  • a Note anchored on the content of one of the table cells

Comments / Open Points:

  • Graphics: It should be sufficient to support Notes which are bound on the whole graphic, although one user asked for Notes on individual point inside graphics issue 85814.
  • Tables:
    • If the user selects the whole table (all table cells) and inserts a Note, then the whole table us used as reference (anchor) for the Note. In other cases, only the content of the table will be used as reference.
    • Open point: What if the user does only select certain rows/columns? Will we support Notes on subsections of tables?
  • Open point: What if the objects do contain e.g. bright text and itself have a dark background. The user will not be able to indentify the information. On the other hand, to mark up those objects by a border will make it hard to identify the Note Anchors.


Proposal "Resizing (Note Anchor Area)"

This proposal extends the proposal "Boxes".

The proposal includes some ideas how to make the Note Anchor Area resizable after it's inital creation. Due to the fact that this (at least cool) feature is not planned in the near future, it will not be discussed in depth. At this point it is important to get an idea how this could look like.

Some ideas for the visualization of Anchor Area
The image shows some ideas for the visualization of Note Anchor Areas. It contains:
  • a group of Note Anchor Areas next to each other
  • a very small Note Anchor Selection of one character
  • some grips to resize the Note Anchor Areas by using the mouse
  • a Note Anchor Area which was created by block selected text

Selected Design

  • The selected design for the Note Anchor Point is "Double Arrow".
  • The selected design for the Note Anchor Areas is "Boxes".

Implementation

At the moment it is not possible to draw elements behind the text. The graphical Note elements in the Writer document window can only be displayed on top of the document. Therefore the background can not be implemented until Writer provides this capability.

Code Changes

tbd

Outstanding Issues

tbd

Personal tools