.. include:: /Includes.rst.txt
.. _formatting-drop-down-behavior:
Behavior of the text formating drop-down list and of the buttons
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
While in case of nested inline markup all buttons may be highlighted,
only one of the options will be pre-selected in the drop-down list and
therefore be shown in the collapsed drop-down list.
.. _formatting-legend:
Legend:
"""""""
highlighted (selected) string:This is the string inside the textarea
the author has selected using the mouse or keyboard.
\|= cursor position inside the textarea.
.. _formatting-case-1-no-string-is-highlighted-and-the-cursor-is-outside-any-inline-element:
Case 1: No string is highlighted and the cursor is outside any inline element:
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
a) the option shown in the collapsed drop-down list is 'No text format
**';**
b) the drop-down list and all buttons are disabled.
.. _formatting-case-2-no-string-is-highlighted-and-the-cursor-is-inside-an-inline-element:
Case 2: No string is highlighted and the cursor is inside an inline element:
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Example:wor\|d
a) the option shown in the collapsed drop-down list is the type of the
inner inline element in which the cursor is positioned;
b) the drop-down list and all buttons are enabled;
c) the button corresponding to the type of the inner inline element in
which the cursor is positioned is highlighted by means of a white
background; if the cursor is positioned inside nested inline elements,
all corresponding buttons are highlighted by means of a white
background;
d) if the author chooses a different markup in the drop-down list or
clicks on a button that is not highlighted, the markup of the inner
inline element is remapped;
e) if the author chooses 'Remove text format', the markup of the inner
inline element is removed;
f) if the author clicks on an highlighted button, the markup of the
innermost inline element of the corresponding type is removed;
g) the position of the cursor is unchanged.
.. _formatting-case-3-a-string-is-highlighted-and-crosses-multiple-elements:
Case 3: A string is highlighted and crosses multiple elements:
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
a) the option shown in the collapsed drop-down list is 'No text
format' (first option);
b) if the string crosses multiple block elements:
- the drop-down list is disabled;
c) if the string crosses multiple inline elements:
- the option shown in the collapsed drop-down list is 'No text format';
- the drop-down list is enabled;
- if the author chooses a markup, the highlighted string is wrapped with
the chosen markup;
- the resulting marked up string is not highlighted;
- the cursor is positioned at the end of the marked up string.
.. _formatting-case-4-the-highlighted-string-is-not-contained-in-any-inline-element:
Case 4: The highlighted string is not contained in any inline element:
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
a) the option shown in the collapsed drop-down list is 'No text
format';
b) if the author chooses a markup, the highlighted string is wrapped
with the chosen markup;
c) the resulting marked up string is not highlighted;
d) the cursor is positioned at the end of the marked up string, so
that This is great!becomes This is great!\|.
.. _formatting-case-5-the-highlighted-string-is-contained-in-an-inline-element:
Case 5: The highlighted string is contained in an inline element:
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
a) the option shown in the collapsed drop-down list is 'No text
format';
b) if the author chooses a markup, the highlighted string is wrapped
with the chosen markup;
c) the resulting marked up string is not highlighted;
d) the cursor is positioned at the end of the marked up string.
Example 1::
This is a verygood question.
becomes::
This is a very\|question.
.
Example 2::
This is great!
, he shouted.
becomes::
This is great!\|
, he shouted.
.. _formatting-case-6-the-highlighted-string-contains-exactly-the-complete-inline-element:
Case 6: The highlighted string contains exactly the complete inline element:
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Example of highlighted string: :code:`word
`
a) The option shown in the collapsed drop-down list is the type of
inline element corresponding to the highlighted string;
b) if the author chooses 'Remove textformat', the inline markup gets
removed: :code:`word
becomesword\|`;
c) if the author chooses another markup, e.g. :code:``, the markup wraps
the highlighted node, so
that :code:`word
becomesword\|
`.