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

PackageSelector Class Reference

#include <PackageSelector.h>

List of all members.

Public Member Functions

 PackageSelector (YNCursesUI *ui, const YWidgetOpt &opt, string floppyDevice)
virtual ~PackageSelector ()
bool fillPackageList (const YCPString &label, YStringTreeItem *group)
bool fillPatchList (string filter, PMYouPatch::Kind kind=PMYouPatch::kind_all)
bool fillUpdateList ()
bool fillSummaryList (NCPkgTable::NCPkgTableListType type)
bool fillAvailableList (NCPkgTable *table, PMObjectPtr pkgPtr)
bool fillPatchPackages (NCPkgTable *pkgTable, PMObjectPtr youPatch)
bool fillSearchList (const YCPString &expr, bool ignoreCase, bool checkName, bool checkSummary, bool checkDescr, bool checkProvides, bool checkRequires)
YStringTreeItem * getDefaultRpmGroup ()
bool handleEvent (const NCursesEvent &event)
bool SearchHandler (const NCursesEvent &event)
bool DependencyHandler (const NCursesEvent &event)
bool SelectionHandler (const NCursesEvent &event)
bool InformationHandler (const NCursesEvent &event)
bool OkButtonHandler (const NCursesEvent &event)
bool CancelHandler (const NCursesEvent &event)
bool DiskinfoHandler (const NCursesEvent &event)
bool PackageListHandler (const NCursesEvent &event)
bool FilterHandler (const NCursesEvent &event)
bool StatusHandler (const NCursesEvent &event)
bool HelpHandler (const NCursesEvent &event)
bool YouHelpHandler (const NCursesEvent &event)
bool LinkHandler (string link)
bool showPackageInformation (PMObjectPtr pkgPtr)
bool showConcretelyPkgDependency (int index)
bool showConcretelySelDependency (int index)
bool showPackageDependencies (bool doit)
void showSelectionDependencies ()
bool showPatchInformation (PMObjectPtr pkgPtr)
void setVisibleInfo (const YCPValue &info)
bool showSelPackages (const YCPString &label, PMSelectionPtr selPtr)
void updatePackageList ()
bool checkPackage (PMPackagePtr pkg, YStringTreeItem *rpmGroup)
bool checkPatch (PMYouPatchPtr patch, string filter, PMYouPatch::Kind kind)
bool autoChecking ()
string createText (list< string > info, bool oneline)
string createDescrText (list< string > info)
bool match (string s1, string s2, bool ignoreCase)
void showDiskSpace ()
void showDownloadSize ()

Private Types

typedef bool(PackageSelector::* tHandlerFctPtr )(const NCursesEvent &event)
typedef std::map< std::string,
tHandlerFctPtr > 
tHandlerMap

Private Member Functions

PackageSelector & operator= (const PackageSelector &)
 PackageSelector (const PackageSelector &)
string createRelLine (list< PkgRelation > info)
void cloneTree (YStringTreeItem *parentOrig, YTreeItem *parentClone)
NCPkgTable * getPackageList ()

Private Attributes

tHandlerMap eventHandlerMap
YNCursesUI * y2ui
YCPValue visibleInfo
NCPopupTree * filterPopup
NCPopupPkgDeps * pkgDepsPopup
NCPopupSelDeps * selDepsPopup
NCPopupSelection * selectionPopup
NCPopupDiskspace * diskspacePopup
NCPopupSearch * searchPopup
NCPopupFile * filePopup
bool youMode
bool updateMode
bool autoCheck

Friends

std::ostream & operator<< (std::ostream &STREAM, const PackageSelector &OBJ)


Member Typedef Documentation

typedef bool(PackageSelector::* PackageSelector::tHandlerFctPtr)(const NCursesEvent &event) [private]
 

typedef std::map<std::string, tHandlerFctPtr> PackageSelector::tHandlerMap [private]
 


Constructor & Destructor Documentation

PackageSelector::PackageSelector (  const PackageSelector &   )  [private]
 

PackageSelector::PackageSelector (  YNCursesUI *  ui,
const YWidgetOpt &  opt,
string  floppyDevice
) 
 

The package selector class handles the events and holds the data needed for the package selection.

Parameters:
ui The NCurses UI
opt The widget options
floppyDevice The floppy device

PackageSelector::~PackageSelector (   )  [virtual]
 

Destructor


Member Function Documentation

bool PackageSelector::autoChecking (   )  [inline]
 

Returns whether automatic dependency is on or off

Returns:
bool

bool PackageSelector::CancelHandler (  const NCursesEvent &  event  ) 
 

Handler function for "Cancel button pressed"

Parameters:
event The Ncurses event
Returns:
bool

bool PackageSelector::checkPackage (  PMPackagePtr  pkg,
YStringTreeItem *  rpmGroup
) 
 

Check if 'pkg' matches 'selectedRpmGroup'. Returns true if there is a match, false otherwise or if 'pkg' is 0.

Returns:
bool

bool PackageSelector::checkPatch (  PMYouPatchPtr  patch,
string  filter,
PMYouPatch::Kind  kind
) 
 

Check if 'patch' matches the selected filter. Returns true if there is a match, false otherwise or if 'patch' is 0.

Returns:
bool

void PackageSelector::cloneTree (  YStringTreeItem *  parentOrig,
YTreeItem *  parentClone
)  [private]
 

string PackageSelector::createDescrText (  list< string >  info  ) 
 

Creates a text from a list of strings which may contain HTML tags

Returns:
string The text

string PackageSelector::createRelLine (  list< PkgRelation >  info  )  [private]
 

string PackageSelector::createText (  list< string >  info,
bool  oneline
) 
 

Creates a text from a list of strings

Parameters:
oneline true: create one line, items seperated by comma; false: every string is a line
Returns:
string The text

bool PackageSelector::DependencyHandler (  const NCursesEvent &  event  ) 
 

Handler function for menu selection "Etc./Check dependencies"

Parameters:
event The Ncurses event
Returns:
bool

bool PackageSelector::DiskinfoHandler (  const NCursesEvent &  event  ) 
 

Handler function for "Diskspace button pressed"

Parameters:
event The Ncurses event
Returns:
bool

bool PackageSelector::fillAvailableList (  NCPkgTable *  table,
PMObjectPtr  pkgPtr
) 
 

Fills the list of available packages

Parameters:
table The table widget
pkgPtr Show all available versions of this package
Returns:
bool

bool PackageSelector::fillPackageList (  const YCPString &  label,
YStringTreeItem *  group
) 
 

Fills the package table

Parameters:
label The selected RPM group (the label)
group The rpm group
Returns:
bool

bool PackageSelector::fillPatchList (  string  filter,
PMYouPatch::Kind  kind = PMYouPatch::kind_all
) 
 

Fills the package table with YOU patches matching the filter

Parameters:
filter 
Returns:
bool

bool PackageSelector::fillPatchPackages (  NCPkgTable *  pkgTable,
PMObjectPtr  youPatch
) 
 

Fills the list of packages belonging to the youPatch

Parameters:
pkgTable The table widget
youPatch Show all packages belonging to the patch
Returns:
bool

bool PackageSelector::fillSearchList (  const YCPString &  expr,
bool  ignoreCase,
bool  checkName,
bool  checkSummary,
bool  checkDescr,
bool  checkProvides,
bool  checkRequires
) 
 

Fills the package table with packages matching the search expression

Parameters:
expr The search expression
ignoreCase Ignore case (true or false)
checkName Search in package name (true or false)
checkSummary Check the summary (true or false)
checkProvides Check in Provides (true or false)
checkRequires Check in Requires (true or false)
Returns:
bool

bool PackageSelector::fillSummaryList (  NCPkgTable::NCPkgTableListType  type  ) 
 

Fills the package table with a summary packages

Returns:
bool

bool PackageSelector::fillUpdateList (   ) 
 

Fills the package table with packages with update problems

Returns:
bool

bool PackageSelector::FilterHandler (  const NCursesEvent &  event  ) 
 

Handler function for the "Filter" menu

Parameters:
event The Ncurses event
Returns:
bool

YStringTreeItem* PackageSelector::getDefaultRpmGroup (   )  [inline]
 

Gets default RPM group (the first group)

Returns:
YStringTreeItem *

NCPkgTable * PackageSelector::getPackageList (   )  [private]
 

bool PackageSelector::handleEvent (  const NCursesEvent &  event  ) 
 

Handle the given event. For the given event (the widget-id is contained in the event) the corresponding handler is executed.

Parameters:
event The NCurses event
Returns:
bool

bool PackageSelector::HelpHandler (  const NCursesEvent &  event  ) 
 

Handler function for the "Help" menu

Parameters:
event The Ncurses event
Returns:
bool

bool PackageSelector::InformationHandler (  const NCursesEvent &  event  ) 
 

Handler function for the "Information" menu

Parameters:
event The Ncurses event
Returns:
bool

bool PackageSelector::LinkHandler (  string  link  ) 
 

Handles hyperlinks in package description

Parameters:
link The link
Returns:
bool

bool PackageSelector::match (  string  s1,
string  s2,
bool  ignoreCase
) 
 

Used for package search

Parameters:
s1 Search in s1
s2 Searching for s2
Returns:
bool

bool PackageSelector::OkButtonHandler (  const NCursesEvent &  event  ) 
 

Handler function for "OK button pressed"

Parameters:
event The Ncurses event
Returns:
bool

PackageSelector& PackageSelector::operator= (  const PackageSelector &   )  [private]
 

bool PackageSelector::PackageListHandler (  const NCursesEvent &  event  ) 
 

Handler function for the package list which handles events not directly related to the list. Most events are handled in NCPkgTable itself.

Parameters:
event The Ncurses event
Returns:
bool

bool PackageSelector::SearchHandler (  const NCursesEvent &  event  ) 
 

Handler function for "Search button pressed"

Parameters:
event The Ncurses event
Returns:
bool

bool PackageSelector::SelectionHandler (  const NCursesEvent &  event  ) 
 

Handler function for menu selection "Etc./Selections"

Parameters:
event The Ncurses event
Returns:
bool

void PackageSelector::setVisibleInfo (  const YCPValue &  info  ) 
 

Sets the member variable to the currently visible information

Parameters:
info 

bool PackageSelector::showConcretelyPkgDependency (  int  index  ) 
 

Shows the dependency of this package

Parameters:
index The line
Returns:
bool

bool PackageSelector::showConcretelySelDependency (  int  index  ) 
 

Shows the dependency of this selection

Parameters:
index The line
Returns:
bool

void PackageSelector::showDiskSpace (   ) 
 

Calls the package mananager (updateDu()) and shows the required disk space

void PackageSelector::showDownloadSize (   ) 
 

Shows the total download size

bool PackageSelector::showPackageDependencies (  bool  doit  ) 
 

Checks and shows the dependencies

Parameters:
doit true: do the check, false: only check if auto check is on

bool PackageSelector::showPackageInformation (  PMObjectPtr  pkgPtr  ) 
 

Gets the required package info from package manager and shows it ( called from NCPkgTable )

Parameters:
pkgPtr the data pointer
Returns:
bool

bool PackageSelector::showPatchInformation (  PMObjectPtr  pkgPtr  ) 
 

Gets the required patch info from you patch manager and shows it

Parameters:
pkgPtr the data pointer
Returns:
bool

void PackageSelector::showSelectionDependencies (   ) 
 

Checks and shows the selectiondependencies

bool PackageSelector::showSelPackages (  const YCPString &  label,
PMSelectionPtr  selPtr
) 
 

Fills the package table

Parameters:
label The selected selection (the label)
selPtr The selection
Returns:
bool

bool PackageSelector::StatusHandler (  const NCursesEvent &  event  ) 
 

Handler function for the "Action" menu (changes the package status)

Parameters:
event The Ncurses event
Returns:
bool

void PackageSelector::updatePackageList (   ) 
 

Updates the status in list of packages

bool PackageSelector::YouHelpHandler (  const NCursesEvent &  event  ) 
 

Handler function for the "Help" button in YOU

Parameters:
event The Ncurses event
Returns:
bool


Friends And Related Function Documentation

std::ostream& operator<< (  std::ostream &  STREAM,
const PackageSelector &  OBJ
)  [friend]
 


Member Data Documentation

bool PackageSelector::autoCheck [private]
 

NCPopupDiskspace* PackageSelector::diskspacePopup [private]
 

tHandlerMap PackageSelector::eventHandlerMap [private]
 

NCPopupFile* PackageSelector::filePopup [private]
 

NCPopupTree* PackageSelector::filterPopup [private]
 

NCPopupPkgDeps* PackageSelector::pkgDepsPopup [private]
 

NCPopupSearch* PackageSelector::searchPopup [private]
 

NCPopupSelDeps* PackageSelector::selDepsPopup [private]
 

NCPopupSelection* PackageSelector::selectionPopup [private]
 

bool PackageSelector::updateMode [private]
 

YCPValue PackageSelector::visibleInfo [private]
 

YNCursesUI* PackageSelector::y2ui [private]
 

bool PackageSelector::youMode [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Sep 14 10:52:56 2005 for yast2-ncurses by  doxygen 1.4.4