00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: NCPackageSelector.h 00014 00015 Author: Gabriele Strattner <gs@suse.de> 00016 Maintainer: Michael Andres <ma@suse.de> 00017 00018 /-*/ 00019 #ifndef NCPackageSelector_h 00020 #define NCPackageSelector_h 00021 00022 #include <iosfwd> 00023 00024 #include "YNCursesUI.h" 00025 #include "YPackageSelector.h" 00026 #include "YSplit.h" 00027 #include "NCSplit.h" 00028 #include "PackageSelector.h" 00029 #include "NCPopupTable.h" 00030 00031 00032 00033 class NCPkgTable; 00034 00035 00039 class NCPackageSelector : public NCSplit 00040 { 00041 00042 friend std::ostream & operator<<( std::ostream & STREAM, const NCPackageSelector & OBJ ); 00043 00044 NCPackageSelector & operator=( const NCPackageSelector & ); 00045 NCPackageSelector ( const NCPackageSelector & ); 00046 00047 private: 00048 00049 YContainerWidget * widgetRoot; // root of the widget tree of the package selection dialog 00050 00051 NCPkgTable * pkgList; // the package table widget 00052 00053 PackageSelector *packager; // packager object contains the data and handles events 00054 00055 bool youMode; 00056 bool updateMode; 00057 00058 protected: 00059 00060 virtual const char * location() const { 00061 return dimension() == YD_HORIZ ? "NC(H)PackageSelector" : "NC(V)PackageSelector" ; 00062 } 00063 00064 public: 00065 00070 NCPackageSelector( YNCursesUI *ui, NCWidget * parent, 00071 const YWidgetOpt & opt, YUIDimension dimension, 00072 string floppyDevice ); 00073 00077 virtual ~NCPackageSelector(); 00078 00079 virtual long nicesize( YUIDimension dim ) { return NCSplit::nicesize( dim ); } 00080 virtual void setSize( long newwidth, long newheight ); 00081 00087 void showDefaultList(); 00088 00095 bool handleEvent( const NCursesEvent& event ); 00096 00100 YContainerWidget * root( ) const { return widgetRoot; }; 00101 00102 00108 YCPTerm readLayoutFile( YNCursesUI *ui, const char * layoutFilename ); 00109 00110 }; 00111 00113 00114 #endif // NCPackageSelector_h