PackageSelector — Complete software package selection
PackageSelector
( | void) ; |
youMode
start in YOU (YaST Online Update) mode
updateMode
start in update mode
searchMode
start with the "search" filter view
summaryMode
start with the "installation summary" filter view
repoMode
start with the "repositories" filter view
repoMgr
enable "Repository Manager" menu item
confirmUnsupported
user has to confirm all unsupported (non-L3) packages
A very complex widget that handles software package selection completely transparently. Set up the package manager (the backend) before creating this widget and let the package manager and the package selector handle all the rest. The result of all this are the data stored in the package manager.
Use UI::RunPkgSelection() after creating a dialog with this widget. The result of UI::UserInput() in a dialog with such a widget is undefined - it may or may not return.
This widget gets the (best) floppy device as a parameter since the UI has no general way of finding out by itself what device can be used for saving or loading pacakge lists etc. - this is best done outside and passed here as a parameter.
// Package Selector example { // Pkg::SourceCreate( "http://dist.suse.de/install/SLP/SUSE-10.1-Beta7/i386/CD1/", "" ); // Pkg::SourceCreate( "http://dist.suse.de/install/SLP/SUSE-10.0-RC4/i386/CD1/", "" ); // Pkg::SourceCreate( "file:/srv/10.1-i386/CD1/", "" ); Pkg::SourceCreate( "file:/srv/10.1-i386/DVD1/", "" ); // Pkg::SourceCreate( "file:/srv/sles-10-i386/CD1/", "" ); if ( true ) { Pkg::TargetInit( "/", // installed system false ); // don't create a new RPM database } UI::OpenDialog(`opt(`defaultsize), `PackageSelector(`id(`selector), "/dev/fd0" ) ); any input = UI::RunPkgSelection(`id(`selector) ); UI::CloseDialog(); y2milestone( "Input: %1", input ); }