|
libyui
3.1.5
|
Helper class for shortcut management: This class holds data about the shortcut for one single widget. More...
#include <YShortcut.h>


Public Types | |
| enum | { None = 0 } |
| Marker for "no shortcut". | |
Public Member Functions | |
| YShortcut (YWidget *shortcut_widget) | |
| Constructor. | |
| virtual | ~YShortcut () |
| Destructor. | |
| YWidget * | widget () const |
| Returns the YWidget this shortcut data belong to. | |
| const char * | widgetClass () const |
| Returns the textual representation of the widget class of the widget this shortcut data belongs to. | |
| bool | isButton () const |
| Returns 'true' if the widget that is associated with this shortcut is a button (derived from YPushButton). | |
| bool | isWizardButton () const |
| Returns 'true' if the widget that is associated with this shortcut is a wizard button (one of the navigation buttons of a wizard). | |
| std::string | shortcutString () |
| Returns the complete shortcut string (which may or may not contain "&"), i.e. More... | |
| std::string | cleanShortcutString () |
| Returns the shortcut string ( from the widget's shortcut property ) without any "&" markers. | |
| char | preferred () |
| The preferred shortcut character, i.e. More... | |
| char | shortcut () |
| The actual shortcut character. More... | |
| virtual void | setShortcut (char newShortcut) |
| Set (override) the shortcut character. | |
| void | clearShortcut () |
| Clear the shortcut: Override the shortcut character with nothing. More... | |
| bool | conflict () |
| Query the internal 'conflict' marker. More... | |
| void | setConflict (bool newConflictState=true) |
| Set or unset the internal 'conflict' marker. | |
| int | distinctShortcutChars () |
| Obtain the number of distinct valid shortcut characters in the shortcut string, i.e. More... | |
| bool | hasValidShortcutChar () |
| Return true if this shortcut contains any character that would be valid as a shortcut character. | |
Static Public Member Functions | |
| static std::string | cleanShortcutString (std::string shortcutString) |
| Static version of the above for general use: Returns the specified string without any "&" markers. | |
| static char | shortcutMarker () |
| Static function: Returns the character used for marking keyboard shortcuts. | |
| static std::string::size_type | findShortcutPos (const std::string &str, std::string::size_type start_pos=0) |
| Static function: Find the next occurrence of the shortcut marker ('&') in a string, beginning at starting position start_pos. More... | |
| static char | findShortcut (const std::string &str, std::string::size_type start_pos=0) |
| Static function: Find the next shortcut marker in a string, beginning at starting position start_pos. More... | |
| static bool | isValid (char c) |
| Returns 'true' if 'c' is a valid shortcut character, i.e. More... | |
| static char | normalized (char c) |
| Return the normalized version of shortcut character 'c', i.e. More... | |
| static std::string | getShortcutString (const YWidget *widget) |
| Obtain a widget's shortcut property - the string that contains "&" to designate a shortcut. | |
Protected Member Functions | |
| virtual std::string | getShortcutString () |
| Obtain the the shortcut property of this shortcut's widget - the string that contains "&" to designate a shortcut. | |
Protected Attributes | |
| YWidget * | _widget |
| std::string | _shortcutString |
| bool | _shortcutStringCached |
| std::string | _cleanShortcutString |
| bool | _cleanShortcutStringCached |
| int | _preferred |
| int | _shortcut |
| bool | _conflict |
| bool | _isButton |
| bool | _isWizardButton |
| int | _distinctShortcutChars |
Helper class for shortcut management: This class holds data about the shortcut for one single widget.
Definition at line 40 of file YShortcut.h.
| void YShortcut::clearShortcut | ( | ) |
Clear the shortcut: Override the shortcut character with nothing.
This may happen if a conflict cannot be resolved.
Definition at line 173 of file YShortcut.cc.

|
inline |
Query the internal 'conflict' marker.
This class doesn't care about that flag, it just stores it for the convenience of higher-level classes.
Definition at line 131 of file YShortcut.h.
| int YShortcut::distinctShortcutChars | ( | ) |
Obtain the number of distinct valid shortcut characters in the shortcut string, i.e.
how many different shortcuts that widget could get.
Definition at line 180 of file YShortcut.cc.

|
static |
Static function: Find the next shortcut marker in a string, beginning at starting position start_pos.
Returns the shortcut character or 0 if none found.
Definition at line 280 of file YShortcut.cc.

|
static |
Static function: Find the next occurrence of the shortcut marker ('&') in a string, beginning at starting position start_pos.
Returns string::npos if not found or the position of the shortcut marker (not the shortcut character!) if found.
Definition at line 254 of file YShortcut.cc.

|
static |
Returns 'true' if 'c' is a valid shortcut character, i.e.
[a-zA-Z0-9], 'false' otherwise.
Definition at line 289 of file YShortcut.cc.
|
static |
Return the normalized version of shortcut character 'c', i.e.
a lowercase letter or a digit [a-z0-9]. Returns 0 if 'c' is invalid.
Definition at line 299 of file YShortcut.cc.
| char YShortcut::preferred | ( | ) |
The preferred shortcut character, i.e.
the character that had been preceded by "&" before checking / resolving conflicts began.
Definition at line 117 of file YShortcut.cc.

| char YShortcut::shortcut | ( | ) |
The actual shortcut character.
This may be different from preferred() if it is overridden.
Definition at line 129 of file YShortcut.cc.

| std::string YShortcut::shortcutString | ( | ) |
Returns the complete shortcut string (which may or may not contain "&"), i.e.
the value of the widget's shortcut property. For PushButtons, this is the label on the button ( e.g., "&Details..." ), for other widgets usually the caption above it.
This value is chached, i.e. this isn't a too expensive operation.
Definition at line 75 of file YShortcut.cc.
