diff options
author | Ton Roosendaal <ton@blender.org> | 2005-11-20 13:04:45 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-11-20 13:04:45 +0300 |
commit | 77332fa698fb79cc1d0c1539161e0e85c93b68f7 (patch) | |
tree | b02b7ce3c8245c51ff96eb4f45d4532846e8ff78 /source/blender/include/interface.h | |
parent | a86b0af575c6dad58b8c6ef223d20f5e76a055ed (diff) |
Patch by Matt Ebb: upgraded usablitiy of text button.
Textbuttons now allow a selection too (like any textbutton in other UIs).
By default, on activating a textbutton, the entire button text is selected
when you enter the button. A single arrowkey or LMB click reveils the
cursor then. Here's more user notes:
LMB click: If inside the button, places the text cursor at the clicked
position. If outside the button, confirms/finishes editing
LMB drag: Selects the text between the start and end point of the drag.
Backspace: Deletes selected text, or backspaces a character
Shift Backspace: Deletes all, as before.
Delete: Deletes selected text or forward deletes a character
Shift LeftArrow: Extends the selection left
Shift RightArrow: Extends the selection right
LeftArrow: If there's a selection, move the cursor to the left edge of the
selection, otherwise move the cursor left a character.
RightArrow: If there's a selection, move the cursor to the right edge of
the selection, otherwise move the cursor right a character.
UpArrow/Home: Move the cursor to the beginning of the line
DownArrow/End: Move the cursor to the end of the line
Ctrl Left arrow and Ctrl Right arrow to jump between directory separators
Diffstat (limited to 'source/blender/include/interface.h')
-rw-r--r-- | source/blender/include/interface.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/include/interface.h b/source/blender/include/interface.h index 0b61ed80010..7a45e6566b4 100644 --- a/source/blender/include/interface.h +++ b/source/blender/include/interface.h @@ -63,7 +63,11 @@ #define PNL_TABBED 8 #define PNL_OVERLAP 16 - +/* Button text selection: + * extension direction, selextend, inside ui_do_but_TEX */ +#define EXTEND_LEFT 1 +#define EXTEND_RIGHT 2 +#define SELWIDTH (but->selend - but->selsta) typedef struct { short xim, yim; @@ -103,7 +107,7 @@ typedef struct { struct uiBut { uiBut *next, *prev; - short type, pointype, bit, bitnr, retval, strwidth, ofs, pos; + short type, pointype, bit, bitnr, retval, strwidth, ofs, pos, selsta, selend; int flag; char *str; |