#include <YApplication.h>
Public Member Functions | |
YWidget * | findWidget (YWidgetID *id, bool doThrow=true) const |
virtual std::string | iconBasePath () const |
virtual void | setIconBasePath (const std::string &newIconBasePath) |
YIconLoader * | iconLoader () |
int | defaultFunctionKey (const std::string &label) const |
void | setDefaultFunctionKey (const std::string &label, int fkey) |
void | clearDefaultFunctionKeys () |
virtual void | setLanguage (const std::string &language, const std::string &encoding=std::string()) |
std::string | language (bool stripEncoding=false) const |
virtual std::string | glyph (const std::string &glyphSymbolName) |
virtual std::string | askForExistingDirectory (const std::string &startDir, const std::string &headline)=0 |
virtual std::string | askForExistingFile (const std::string &startWith, const std::string &filter, const std::string &headline)=0 |
virtual std::string | askForSaveFileName (const std::string &startWith, const std::string &filter, const std::string &headline)=0 |
virtual void | askForWidgetStyle () |
virtual bool | openContextMenu (const YItemCollection &itemCollection) |
virtual void | setProductName (const std::string &productName) |
std::string | productName () const |
void | setReleaseNotes (const std::map< std::string, std::string > &relNotes) |
std::map< std::string, std::string > | releaseNotes () const |
void | setShowProductLogo (bool show) |
bool | showProductLogo () const |
virtual int | deviceUnits (YUIDimension dim, float layoutUnits) |
virtual float | layoutUnits (YUIDimension dim, int deviceUnits) |
virtual void | setReverseLayout (bool reverse) |
bool | reverseLayout () const |
virtual void | busyCursor () |
virtual void | normalCursor () |
virtual void | makeScreenShot (const std::string &fileName) |
virtual void | beep () |
virtual void | redrawScreen () |
virtual void | initConsoleKeyboard () |
virtual void | setConsoleFont (const std::string &console_magic, const std::string &font, const std::string &screen_map, const std::string &unicode_map, const std::string &language) |
virtual int | runInTerminal (const std::string &command) |
virtual int | displayWidth ()=0 |
virtual int | displayHeight ()=0 |
virtual int | displayDepth ()=0 |
virtual long | displayColors ()=0 |
virtual int | defaultWidth ()=0 |
virtual int | defaultHeight ()=0 |
virtual bool | isTextMode ()=0 |
virtual bool | hasImageSupport ()=0 |
virtual bool | hasIconSupport ()=0 |
virtual bool | hasAnimationSupport ()=0 |
virtual bool | hasFullUtf8Support ()=0 |
virtual bool | richTextSupportsTable ()=0 |
virtual bool | leftHandedMouse ()=0 |
virtual bool | hasWidgetStyleSupport () |
virtual bool | hasWizardDialogSupport () |
virtual void | setApplicationTitle (const std::string &title) |
virtual const std::string & | applicationTitle () const |
virtual void | setApplicationIcon (const std::string &icon) |
virtual const std::string & | applicationIcon () const |
virtual void | openUI () |
virtual void | closeUI () |
Protected Member Functions | |
YApplication () | |
virtual | ~YApplication () |
Friends | |
class | YUI |
Class for application-wide values and functions. This is a singleton. Access and create it via the static functions in YUI.
|
protected |
Constructor.
Use YUI::app() to get the singleton for this class.
|
protectedvirtual |
Destructor.
|
virtual |
Get the application Icon
Default icon is an empty string
|
virtual |
Get the application title
Default title is the running command (argv[0])
|
pure virtual |
Open a directory selection box and prompt the user for an existing directory.
'startDir' is the initial directory that is displayed.
'headline' is an explanatory text for the directory selection box. Graphical UIs may omit that if no window manager is running.
Returns the selected directory name or an empty string if the user canceled the operation.
Derived classes are required to implement this.
|
pure virtual |
Open a file selection box and prompt the user for an existing file.
'startWith' is the initial directory or file.
'filter' is one or more blank-separated file patterns, e.g. "*.png *.jpg"
'headline' is an explanatory text for the file selection box. Graphical UIs may omit that if no window manager is running.
Returns the selected file name or an empty string if the user canceled the operation.
Derived classes are required to implement this.
|
pure virtual |
Open a file selection box and prompt the user for a file to save data to. Automatically asks for confirmation if the user selects an existing file.
'startWith' is the initial directory or file.
'filter' is one or more blank-separated file patterns, e.g. "*.png *.jpg"
'headline' is an explanatory text for the file selection box. Graphical UIs may omit that if no window manager is running.
Returns the selected file name or an empty string if the user canceled the operation.
Derived classes are required to implement this.
|
inlinevirtual |
Open a pop-up dialog to let the user select between the available widget styles (themes).
This default implementation does nothing. Query with hasWidgetStyleSupport() if the UI provides that capability.
Derived classes are free to overwrite this, but then they should also overwrite hasWidgetStyleSupport().
|
inlinevirtual |
Beep. This default implementation does nothing.
|
inlinevirtual |
Change the (mouse) cursor to indicate busy status. This default implementation does nothing.
void YApplication::clearDefaultFunctionKeys | ( | ) |
Clear all previous label-to-function-key mappings.
int YApplication::defaultFunctionKey | ( | const std::string & | label | ) | const |
Return the default function key number for a widget with the specified label or 0 if there is none. Any keyboard shortcuts that may be contained in 'label' are stripped away before any comparison.
The basic idea behind this concept is to have an easy default mapping from buttons etc. with the same semantics to function keys:
"OK" -> F10 "Accept" -> F10 "Yes" -> F10 "Next" -> F10
"Cancel" -> F9 "No" -> F9 ...
This function returns 10 for F10, F for F9 etc.; 0 means "no function key".
|
virtual |
Convert logical layout spacing units into device dependent units. A default size dialog is assumed to be 80x25 layout spacing units.
Derived classes may want to reimplement this method.
Find a widget in the topmost dialog by its ID.
If there is no widget with that ID (or no dialog at all), this function throws a YUIWidgetNotFoundException if 'doThrow' is 'true'. It returns 0 if 'doThrow' is 'false'.
|
virtual |
Return a string for a named glyph:
YUIGlyph_ArrowLeft YUIGlyph_ArrowRight YUIGlyph_ArrowUp YUIGlyph_ArrowDown YUIGlyph_CheckMark YUIGlyph_BulletArrowRight YUIGlyph_BulletCircle YUIGlyph_BulletSquare
Using this is discouraged in new applications. This method is available for backward compatibility.
This default implementation returns simple textual representations for each glyph simbol (e.g., "->" for YUIGlyphArrorRight).
Derived classes are free to overwrite this. It does not make sense to call this base class method in a new implementation.
|
virtual |
Get the base path for icons used by the UI. Selection widgets like YSelectionBox, YComboBox, etc. or YWizard prepend this to icon specifications that don't use an absolute path.
YIconLoader * YApplication::iconLoader | ( | ) |
Return the icon loader.
|
inlinevirtual |
Initialize the (text) console keyboard. This default implementation does nothing.
string YApplication::language | ( | bool | stripEncoding = false | ) | const |
Return the current language from the locale environment ($LANG). If 'stripEncoding' is true, any encoding (".utf8" etc.) is removed.
|
virtual |
Convert device dependent units into logical layout spacing units. A default size dialog is assumed to be 80x25 layout spacing units.
Derived classes may want to reimplement this method.
|
inlinevirtual |
Make a screen shot and save it to the specified file. This default implementation does nothing.
|
inlinevirtual |
Change the (mouse) cursor back from busy status to normal. This default implementation does nothing.
|
virtual |
Open a context menu for a widget
'itemCollection' describes the menu structure
Returns true on success (otherwise false).
Derived classes are free to overwrite this.
|
inlinevirtual |
To mix TUI (NCurses) with stdio, enclose the UI parts within openUI/closeUI
This default implementation does nothing.
string YApplication::productName | ( | ) | const |
Get the current product name ("openSUSE", "SLES", ...).
|
inlinevirtual |
Redraw the screen. This default implementation does nothing.
map< string, string > YApplication::releaseNotes | ( | ) | const |
Get the current release notes map
bool YApplication::reverseLayout | ( | ) | const |
Returns 'true' if widget geometry should be reversed for languages that have right-to-left writing direction (Arabic, Hebrew).
|
virtual |
Run a shell command (typically an interactive program using NCurses) in a terminal (window).
This is useful for text UIs (e.g., NCurses) that need special preparation prior to running an NCurses-based application and special clean-up afterwards.
This default implementation logs an error and returns -1.
|
virtual |
Set the application Icon
|
virtual |
Set the application title
|
inlinevirtual |
Set the (text) console font according to the current encoding etc. See the setfont(8) command and the console HowTo for details.
This default implementation does nothing.
void YApplication::setDefaultFunctionKey | ( | const std::string & | label, |
int | fkey ) |
Add a mapping from the specified label to the specified F-key number. This is the counterpart to defaultFunctionKey().
This only affects widgets that are created after this call.
|
virtual |
Set the icon base path.
|
virtual |
Set language and encoding for the locale environment ($LANG).
This affects UI-internal translations (e.g. for predefined dialogs like file selection), encoding and fonts.
'language' is the ISO short code ("de_DE", "en_US", ...).
'encoding' an (optional) encoding ("utf8", ...) that will be appended if present.
Derived classes can overwrite this method, but they should call this base class method at the beginning of the new implementation.
|
virtual |
Set the current product name ("openSUSE", "SLES", ...). This name will be expanded in help texts when the &product; entity is used.
Derived classes can overwrite this method, but they should call this base class method in the new implementation.
void YApplication::setReleaseNotes | ( | const std::map< std::string, std::string > & | relNotes | ) |
Set release notes; map product => text
|
virtual |
Set reverse layout for Arabic / Hebrew support.
Derived classes can overwrite this method, but they should call this base class method in the new implementation.
void YApplication::setShowProductLogo | ( | bool | show | ) |
Set whether the product logo (in top bar) should be shown
bool YApplication::showProductLogo | ( | ) | const |
Return true if product logo should be shown