libyui
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

YShortcut Class Reference

#include <YShortcut.h>

Inheritance diagram for YShortcut:
YItemShortcut

List of all members.

Public Types

enum  { None = 0 }

Public Member Functions

 YShortcut (YWidget *shortcut_widget)
virtual ~YShortcut ()
YWidgetwidget () 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

Detailed Description

Helper class for shortcut management: This class holds data about the shortcut for one single widget.


Member Enumeration Documentation

anonymous enum

Marker for "no shortcut"


Constructor & Destructor Documentation

YShortcut::YShortcut ( YWidget shortcut_widget)

Constructor

YShortcut::~YShortcut ( ) [virtual]

Destructor


Member Function Documentation

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.

YWidget* YShortcut::widget ( ) const [inline]

Returns the YWidget this shortcut data belong to.

const char* YShortcut::widgetClass ( ) const [inline]

Returns the textual representation of the widget class of the widget this shortcut data belongs to.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations Friends