libyui
 
Loading...
Searching...
No Matches
YApplication.h
1/*
2 Copyright (C) 2000-2012 Novell, Inc
3 This library is free software; you can redistribute it and/or modify
4 it under the terms of the GNU Lesser General Public License as
5 published by the Free Software Foundation; either version 2.1 of the
6 License, or (at your option) version 3.0 of the License. This library
7 is distributed in the hope that it will be useful, but WITHOUT ANY
8 WARRANTY; without even the implied warranty of MERCHANTABILITY or
9 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
10 License for more details. You should have received a copy of the GNU
11 Lesser General Public License along with this library; if not, write
12 to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
13 Floor, Boston, MA 02110-1301 USA
14*/
15
16
17/*-/
18
19 File: YApplication.h
20
21 Author: Stefan Hundhammer <shundhammer@suse.de>
22
23/-*/
24
25#ifndef YApplication_h
26
27#include <string>
28#include <map>
29#include "YUI.h"
30#include "ImplPtr.h"
31#include "YMenuItem.h"
32#include "YIconLoader.h"
33
34
35
36class YWidget;
37class YWidgetID;
39
40
46{
47protected:
48
49 friend class YUI;
56
60 virtual ~YApplication();
61
62public:
63
71 YWidget * findWidget( YWidgetID * id, bool doThrow = true ) const;
72
78 virtual std::string iconBasePath() const;
79
83 virtual void setIconBasePath( const std::string & newIconBasePath );
84
89
110 int defaultFunctionKey( const std::string & label ) const;
111
118 void setDefaultFunctionKey( const std::string & label, int fkey );
119
124
139 virtual void setLanguage( const std::string & language,
140 const std::string & encoding = std::string() );
141
146 std::string language( bool stripEncoding = false ) const;
147
169 virtual std::string glyph( const std::string & glyphSymbolName );
170
185 virtual std::string askForExistingDirectory( const std::string & startDir,
186 const std::string & headline ) = 0;
187
204 virtual std::string askForExistingFile( const std::string & startWith,
205 const std::string & filter,
206 const std::string & headline ) = 0;
207
226 virtual std::string askForSaveFileName( const std::string & startWith,
227 const std::string & filter,
228 const std::string & headline ) = 0;
229
240 virtual void askForWidgetStyle() {}
241
251 virtual bool openContextMenu( const YItemCollection & itemCollection );
252
253
262 virtual void setProductName( const std::string & productName );
263
267 std::string productName() const;
268
273 void setReleaseNotes( const std::map<std::string,std::string> & relNotes );
274
278 std::map<std::string,std::string> releaseNotes() const;
279
283 void setShowProductLogo( bool show );
284
288 bool showProductLogo() const;
289
296 virtual int deviceUnits( YUIDimension dim, float layoutUnits );
297
304 virtual float layoutUnits( YUIDimension dim, int deviceUnits );
305
312 virtual void setReverseLayout( bool reverse );
313
318 bool reverseLayout() const;
319
324 virtual void busyCursor() {}
325
330 virtual void normalCursor() {}
331
336 virtual void makeScreenShot( const std::string & fileName ) {}
337
342 virtual void beep() {}
343
344
345 //
346 // NCurses (text mode) specific
347 //
348
353 virtual void redrawScreen() {}
354
359 virtual void initConsoleKeyboard() {}
360
367 virtual void setConsoleFont( const std::string & console_magic,
368 const std::string & font,
369 const std::string & screen_map,
370 const std::string & unicode_map,
371 const std::string & language )
372 {}
373
384 virtual int runInTerminal( const std::string & command );
385
386
388
394 virtual void openUI() {}
395 virtual void closeUI() {}
397
398 //
399 // Display information.
400 //
401 // Width and height are returned in the the UI's native dimension:
402 // Pixels for graphical UIs, character cells for text UIs.
403 // -1 means "value cannot be obtained" for int functions.
404 //
405 // Derived classes are required to implement these functions.
406 //
407
408 virtual int displayWidth() = 0;
409 virtual int displayHeight() = 0;
410 virtual int displayDepth() = 0;
411 virtual long displayColors() = 0;
412
413 // Size of main dialogs
414 virtual int defaultWidth() = 0;
415 virtual int defaultHeight() = 0;
416
417 //
418 // UI capabilities
419 //
420
421 virtual bool isTextMode() = 0;
422 virtual bool hasImageSupport() = 0;
423 virtual bool hasIconSupport() = 0;
424 virtual bool hasAnimationSupport() = 0;
425 virtual bool hasFullUtf8Support() = 0;
426 virtual bool richTextSupportsTable() = 0;
427 virtual bool leftHandedMouse() = 0;
428 virtual bool hasWidgetStyleSupport() { return false; }
429 virtual bool hasWizardDialogSupport() { return false; }
430
431
435 virtual void setApplicationTitle ( const std::string& title );
436
442 virtual const std::string& applicationTitle() const;
443
447 virtual void setApplicationIcon ( const std::string& icon );
448
454 virtual const std::string& applicationIcon() const;
455
456private:
457
458 ImplPtr<YApplicationPrivate> priv;
459
460};
461
462#define YApplication_h
463
464#endif // YApplication_h
std::vector< YItem * > YItemCollection
Collection of pointers to YItem.
Definition YItem.h:39
virtual float layoutUnits(YUIDimension dim, int deviceUnits)
Definition YApplication.cc:269
std::string productName() const
Definition YApplication.cc:120
virtual void setLanguage(const std::string &language, const std::string &encoding=std::string())
Definition YApplication.cc:193
void clearDefaultFunctionKeys()
Definition YApplication.cc:186
YIconLoader * iconLoader()
Definition YApplication.cc:107
virtual std::string askForExistingFile(const std::string &startWith, const std::string &filter, const std::string &headline)=0
virtual void setApplicationIcon(const std::string &icon)
Definition YApplication.cc:293
bool reverseLayout() const
Definition YApplication.cc:156
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)
Definition YApplication.h:367
std::map< std::string, std::string > releaseNotes() const
Definition YApplication.cc:132
void setReleaseNotes(const std::map< std::string, std::string > &relNotes)
Definition YApplication.cc:126
virtual void normalCursor()
Definition YApplication.h:330
virtual bool openContextMenu(const YItemCollection &itemCollection)
Definition YApplication.cc:253
virtual void setIconBasePath(const std::string &newIconBasePath)
Definition YApplication.cc:101
virtual int runInTerminal(const std::string &command)
Definition YApplication.cc:276
bool showProductLogo() const
Definition YApplication.cc:144
void setShowProductLogo(bool show)
Definition YApplication.cc:138
int defaultFunctionKey(const std::string &label) const
Definition YApplication.cc:163
virtual void openUI()
Definition YApplication.h:394
virtual const std::string & applicationIcon() const
Definition YApplication.cc:297
virtual void redrawScreen()
Definition YApplication.h:353
YApplication()
Definition YApplication.cc:64
YWidget * findWidget(YWidgetID *id, bool doThrow=true) const
Definition YApplication.cc:82
virtual ~YApplication()
Definition YApplication.cc:75
virtual int deviceUnits(YUIDimension dim, float layoutUnits)
Definition YApplication.cc:262
virtual std::string glyph(const std::string &glyphSymbolName)
Definition YApplication.cc:235
void setDefaultFunctionKey(const std::string &label, int fkey)
Definition YApplication.cc:176
virtual std::string iconBasePath() const
Definition YApplication.cc:94
virtual void beep()
Definition YApplication.h:342
virtual void setReverseLayout(bool reverse)
Definition YApplication.cc:150
virtual void makeScreenShot(const std::string &fileName)
Definition YApplication.h:336
virtual void setApplicationTitle(const std::string &title)
Definition YApplication.cc:283
std::string language(bool stripEncoding=false) const
Definition YApplication.cc:211
virtual void askForWidgetStyle()
Definition YApplication.h:240
virtual void setProductName(const std::string &productName)
Definition YApplication.cc:113
virtual std::string askForExistingDirectory(const std::string &startDir, const std::string &headline)=0
virtual std::string askForSaveFileName(const std::string &startWith, const std::string &filter, const std::string &headline)=0
virtual void busyCursor()
Definition YApplication.h:324
virtual const std::string & applicationTitle() const
Definition YApplication.cc:288
virtual void initConsoleKeyboard()
Definition YApplication.h:359
Definition YIconLoader.h:33
Definition YWidgetID.h:37
Definition YWidget.h:55
Definition YApplication.cc:46