00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: NCPopupSelection.h 00014 00015 Author: Gabriele Strattner <gs@suse.de> 00016 Maintainer: Michael Andres <ma@suse.de> 00017 00018 /-*/ 00019 #ifndef NCPopupSelection_h 00020 #define NCPopupSelection_h 00021 00022 #include <iosfwd> 00023 00024 #include <vector> 00025 #include <string> 00026 00027 #include "NCPopup.h" 00028 #include "NCTree.h" 00029 #include "NCLabel.h" 00030 #include "NCRichText.h" 00031 #include "NCMultiSelectionBox.h" 00032 #include "PackageSelector.h" 00033 #include "NCPushButton.h" 00034 00035 #include <y2pm/PMError.h> 00036 #include <y2pm/PMSelection.h> 00037 #include <y2pm/PMSelectionPtr.h> 00038 #include <y2pm/PMPackage.h> 00039 #include <y2pm/PMPackagePtr.h> 00040 #include <y2pm/InstSrc.h> 00041 #include <y2pm/InstSrcPtr.h> 00042 00043 00045 // 00046 // CLASS NAME : NCPopupSelection 00047 // 00048 // DESCRIPTION : 00049 // 00050 class NCPopupSelection : public NCPopup { 00051 00052 NCPopupSelection & operator=( const NCPopupSelection & ); 00053 NCPopupSelection ( const NCPopupSelection & ); 00054 00055 private: 00056 00057 NCPkgTable *sel; // selection list 00058 NCPushButton * okButton; 00059 00060 PackageSelector * packager; // connection to the PackageSelector, 00061 00062 protected: 00063 00064 std::string getCurrentLine(); 00065 00066 virtual bool postAgain(); 00067 00068 virtual NCursesEvent wHandleInput( wint_t ch ); 00069 00070 public: 00071 00072 NCPopupSelection( const wpos at, PackageSelector * pkg ); 00073 virtual ~NCPopupSelection(); 00074 00075 virtual long nicesize(YUIDimension dim); 00076 00077 00078 void createLayout( const YCPString & label ); 00079 00084 bool fillSelectionList ( NCPkgTable * table ); 00085 00090 NCursesEvent & showSelectionPopup( ); 00091 00092 }; 00093 00095 00096 00097 #endif // NCPopupSelection_h