Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

YNCursesUI.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                                        (C) SuSE GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013    File:       YNCursesUI.h
00014 
00015    Author:     Michael Andres <ma@suse.de>
00016    Maintainer: Michael Andres <ma@suse.de>
00017 
00018 /-*/
00019 // -*- c++ -*-
00020 
00021 #ifndef YNCursesUI_h
00022 #define YNCursesUI_h
00023 
00024 #include <iosfwd>
00025 
00026 #include <Y2.h>
00027 #include "YUI.h"
00028 #include "NCurses.h"
00029 
00030 class YUI;
00031 class NCDialog;
00032 
00038 class YNCursesUI : public NCurses, public YUI
00039 {
00040 public:
00044    YNCursesUI( int argc, char ** argv, bool with_threads, const char * macro_file );
00045 
00049    ~YNCursesUI();
00050 
00051 
00052   protected:
00053 
00054     virtual bool want_colors();
00055     virtual void init_title();
00056 
00060    static YNCursesUI * _ui;
00061     
00062   public:
00063 
00064 //    Y2NCursesUI( bool with_threads, const char * macro_file, Y2Component *callback );
00065 //    virtual ~Y2NCursesUI();
00066 
00070     static YNCursesUI * ui() { return _ui; }
00071     
00075     virtual void idleLoop( int fd_ycp );
00076 
00083     virtual YEvent * userInput( unsigned long timeout_millisec );
00084 
00090     virtual YEvent * pollInput();
00091 
00095     virtual YDialog * createDialog( YWidgetOpt & opt );
00096 
00100     virtual void showDialog( YDialog * dialog );
00101 
00105     virtual void closeDialog( YDialog * dialog );
00106 
00107     //
00108     // Widget creation functions - container widgets
00109     //
00110 
00114     virtual YContainerWidget * createSplit( YWidget * parent, YWidgetOpt & opt,
00115                                             YUIDimension dimension );
00116 
00120     virtual YContainerWidget * createReplacePoint( YWidget * parent, YWidgetOpt & opt );
00121 
00125     virtual YContainerWidget * createAlignment( YWidget * parent, YWidgetOpt & opt,
00126                                                 YAlignmentType halign,
00127                                                 YAlignmentType valign);
00128 
00132     virtual YContainerWidget * createSquash( YWidget * parent, YWidgetOpt & opt,
00133                                              bool hsquash,
00134                                              bool vsquash );
00135 
00139     virtual YContainerWidget * createRadioButtonGroup( YWidget * parent, YWidgetOpt & opt );
00140 
00144     virtual YContainerWidget * createFrame( YWidget * parent, YWidgetOpt & opt,
00145                                             const YCPString & label );
00146 
00147     //
00148     // Widget creation functions - leaf widgets
00149     //
00150 
00154     virtual YWidget * createEmpty( YWidget * parent, YWidgetOpt & opt );
00155 
00159     virtual YWidget * createSpacing( YWidget * parent, YWidgetOpt & opt,
00160                                      float size,
00161                                      bool horizontal,
00162                                      bool vertical );
00163 
00170     virtual YWidget * createLabel( YWidget * parent, YWidgetOpt & opt,
00171                                    const YCPString & text );
00172 
00177     virtual YWidget * createRichText( YWidget * parent, YWidgetOpt & opt,
00178                                       const YCPString & text );
00179 
00186     virtual YWidget * createLogView( YWidget * parent, YWidgetOpt & opt,
00187                                      const YCPString & label,
00188                                      int visibleLines,
00189                                      int maxLines );
00190 
00196     virtual YWidget * createMultiLineEdit( YWidget * parent, YWidgetOpt & opt,
00197                                            const YCPString & label,
00198                                            const YCPString & text);
00199 
00205     virtual YWidget * createPushButton( YWidget * parent, YWidgetOpt & opt,
00206                                         const YCPString & label );
00207 
00212     virtual YWidget * createMenuButton( YWidget * parent, YWidgetOpt & opt,
00213                                         const YCPString & label );
00214 
00220     virtual YWidget * createRadioButton( YWidget * parent, YWidgetOpt & opt,
00221                                          YRadioButtonGroup * rbg,
00222                                          const YCPString & label,
00223                                          bool checked );
00224 
00230     virtual YWidget * createCheckBox( YWidget * parent, YWidgetOpt & opt,
00231                                       const YCPString & label,
00232                                       bool checked );
00233 
00237     virtual YWidget * createTextEntry( YWidget * parent, YWidgetOpt & opt,
00238                                        const YCPString & label,
00239                                        const YCPString & text );
00240 
00244     virtual YWidget * createSelectionBox( YWidget * parent, YWidgetOpt & opt,
00245                                           const YCPString & label );
00246 
00250     virtual YWidget * createMultiSelectionBox( YWidget *parent, YWidgetOpt & opt,
00251                                                const YCPString & label );
00252 
00256     virtual YWidget * createComboBox( YWidget * parent, YWidgetOpt & opt,
00257                                       const YCPString & label );
00258 
00262     virtual YWidget * createTree( YWidget * parent, YWidgetOpt & opt,
00263                                   const YCPString & label );
00264 
00268     virtual YWidget * createTable( YWidget * parent, YWidgetOpt & opt,
00269                                    vector<string> header );
00270 
00274     virtual YWidget * createProgressBar( YWidget * parent, YWidgetOpt & opt,
00275                                          const YCPString & label,
00276                                          const YCPInteger & maxprogress,
00277                                          const YCPInteger & progress);
00278 
00282     virtual YWidget * createImage( YWidget * parent, YWidgetOpt & opt,
00283                                    YCPByteblock imagedata,
00284                                    YCPString defaulttext);
00285 
00289     virtual YWidget * createImage( YWidget * parent, YWidgetOpt & opt,
00290                                    YCPString filename,
00291                                    YCPString defaulttext);
00292 
00296     virtual YWidget * createImage( YWidget * parent, YWidgetOpt & opt,
00297                                    ImageType img,
00298                                    YCPString defaulttext );
00299 
00303     virtual YWidget * createIntField( YWidget * parent, YWidgetOpt & opt,
00304                                       const YCPString & label,
00305                                       int minValue, int maxValue,
00306                                       int initialValue );
00307 
00311     virtual YWidget * createPackageSelector( YWidget *parent,
00312                                              YWidgetOpt &opt,
00313                                              const YCPString & floppyDevice );
00314 
00318     virtual YCPValue runPkgSelection( YWidget * packageSelector );
00319     
00323     virtual YWidget * createPkgSpecial( YWidget *parent,
00324                                         YWidgetOpt &opt,
00325                                         const YCPString &subwidget );
00326     
00332     virtual YCPValue setLanguage( const YCPTerm & term );
00333 
00338     virtual YCPValue setConsoleFont ( const YCPString & console_magic,
00339                                       const YCPString & font,
00340                                       const YCPString & screen_map,
00341                                       const YCPString & unicode_map,
00342                                       const YCPString & encoding );
00343 
00344     virtual YCPValue setKeyboard ( );
00345     
00359     virtual YCPValue askForExistingDirectory ( const YCPString & startDir,
00360                                                const YCPString & headline );
00361     
00376     virtual YCPValue askForExistingFile ( const YCPString & startWith,
00377                                           const YCPString & filter,
00378                                           const YCPString & headline );
00379         
00380 
00396     virtual YCPValue askForSaveFileName ( const YCPString & startWith,
00397                                           const YCPString & filter,
00398                                           const YCPString & headline );
00399 
00400     
00405     virtual void redrawScreen() { Refresh(); }
00406 
00411     virtual int  getDisplayWidth()           { return cols(); }
00412     virtual int  getDisplayHeight()          { return lines(); }
00413     virtual int  getDisplayDepth()           { return -1; }
00414     virtual long getDisplayColors()          { return NCattribute::colors(); }
00415     virtual int  getDefaultWidth()           { return cols(); }
00416     virtual int  getDefaultHeight()          { return lines(); }
00417     virtual bool textMode()                  { return true; }
00418     virtual bool hasImageSupport()           { return false; }
00419     virtual bool hasIconSupport()            { return false; }
00420     
00421     virtual bool hasFullUtf8Support();
00422 
00423   private:
00424 
00425     bool setLanguage( string lang );
00426 };
00427 
00428 #endif // YNCursesUI_h
00429 

Generated on Wed Sep 5 17:18:55 2007 for yast2-ncurses by doxygen 1.3.6