libyui
|
#include <YShortcut.h>
Public Types | |
enum | { None = 0 } |
Public Member Functions | |
YShortcut (YWidget *shortcut_widget) | |
virtual | ~YShortcut () |
YWidget * | widget () const |
const char * | widgetClass () const |
bool | isButton () const |
bool | isWizardButton () const |
string | shortcutString () |
string | cleanShortcutString () |
char | preferred () |
char | shortcut () |
virtual void | setShortcut (char newShortcut) |
void | clearShortcut () |
bool | conflict () |
void | setConflict (bool newConflictState=true) |
int | distinctShortcutChars () |
bool | hasValidShortcutChar () |
Static Public Member Functions | |
static string | cleanShortcutString (string shortcutString) |
static char | shortcutMarker () |
static string::size_type | findShortcutPos (const string &str, string::size_type start_pos=0) |
static char | findShortcut (const string &str, string::size_type start_pos=0) |
static bool | isValid (char c) |
static char | normalized (char c) |
static string | getShortcutString (const YWidget *widget) |
Protected Member Functions | |
virtual string | getShortcutString () |
Protected Attributes | |
YWidget * | _widget |
string | _shortcutString |
bool | _shortcutStringCached |
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.
anonymous enum |
Marker for "no shortcut"
YShortcut::YShortcut | ( | YWidget * | shortcut_widget | ) |
Constructor
YShortcut::~YShortcut | ( | ) | [virtual] |
Destructor
string YShortcut::cleanShortcutString | ( | ) |
Returns the shortcut string ( from the widget's shortcut property ) without any "&" markers.
string YShortcut::cleanShortcutString | ( | string | shortcutString | ) | [static] |
Static version of the above for general use: Returns the specified string without any "&" markers.
void YShortcut::clearShortcut | ( | ) |
Clear the shortcut: Override the shortcut character with nothing. This may happen if a conflict cannot be resolved.
bool YShortcut::conflict | ( | ) | [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.
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.
char YShortcut::findShortcut | ( | const string & | str, |
string::size_type | start_pos = 0 |
||
) | [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.
string::size_type YShortcut::findShortcutPos | ( | const string & | str, |
string::size_type | start_pos = 0 |
||
) | [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.
string YShortcut::getShortcutString | ( | const YWidget * | widget | ) | [static] |
Obtain a widget's shortcut property - the string that contains "&" to designate a shortcut.
string YShortcut::getShortcutString | ( | ) | [protected, virtual] |
Obtain the the shortcut property of this shortcut's widget - the string that contains "&" to designate a shortcut.
Reimplemented in YItemShortcut.
bool YShortcut::hasValidShortcutChar | ( | ) |
Return true if this shortcut contains any character that would be valid as a shortcut character.
bool YShortcut::isButton | ( | ) | const [inline] |
Returns 'true' if the widget that is associated with this shortcut is a button (derived from YPushButton).
bool YShortcut::isValid | ( | char | c | ) | [static] |
Returns 'true' if 'c' is a valid shortcut character, i.e. [a-zA-Z0-9], 'false' otherwise.
bool YShortcut::isWizardButton | ( | ) | const [inline] |
Returns 'true' if the widget that is associated with this shortcut is a wizard button (one of the navigation buttons of a wizard).
char YShortcut::normalized | ( | char | c | ) | [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.
char YShortcut::preferred | ( | ) |
The preferred shortcut character, i.e. the character that had been preceded by "&" before checking / resolving conflicts began.
void YShortcut::setConflict | ( | bool | newConflictState = true | ) | [inline] |
Set or unset the internal 'conflict' marker.
void YShortcut::setShortcut | ( | char | newShortcut | ) | [virtual] |
Set (override) the shortcut character.
Reimplemented in YItemShortcut.
char YShortcut::shortcut | ( | ) |
The actual shortcut character.
This may be different from preferred() if it is overridden.
static char YShortcut::shortcutMarker | ( | ) | [inline, static] |
Static function: Returns the character used for marking keyboard shortcuts.
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.
const char* YShortcut::widgetClass | ( | ) | const [inline] |
Returns the textual representation of the widget class of the widget this shortcut data belongs to.