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

YQPackageSelector.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:       YQPackageSelector.h
00014 
00015   Author:     Stefan Hundhammer <sh@suse.de>
00016 
00017 /-*/
00018 
00019 // -*- c++ -*-
00020 
00021 #ifndef YQPackageSelector_h
00022 #define YQPackageSelector_h
00023 
00024 #include <qvbox.h>
00025 #include <ycp/YCPString.h>
00026 
00027 #include "YPackageSelector.h"
00028 
00029 
00030 class QCheckBox;
00031 class QComboBox;
00032 class QLabel;
00033 class QListView;
00034 class QProgressBar;
00035 class QPushButton;
00036 class QSplitter;
00037 class QTabWidget;
00038 class QPopupMenu;
00039 class QMenuBar;
00040 
00041 class QY2ComboTabWidget;
00042 
00043 class YQPkgConflictDialog;
00044 class YQPkgDependenciesView;
00045 class YQPkgDescriptionView;
00046 class YQPkgDiskUsageList;
00047 class YQPkgList;
00048 class YQPkgRpmGroupTagsFilterView;
00049 class YQPkgSearchFilterView;
00050 class YQPkgSelList;
00051 class YQPkgSelectionsFilterView;
00052 class YQPkgStatusFilterView;
00053 class YQPkgTechnicalDetailsView;
00054 class YQPkgUpdateProblemFilterView;
00055 class YQPkgVersionsView;
00056 class YQPkgYouPatchFilterView;
00057 class YQPkgYouPatchList;
00058 
00059 
00060 class YQPackageSelector : public QVBox, public YPackageSelector
00061 {
00062     Q_OBJECT
00063 
00064 public:
00065 
00066     YQPackageSelector( QWidget * parent, const YWidgetOpt & opt, const YCPString & floppyDevice );
00067 
00073     void setEnabling( bool enabled );
00074 
00080     long nicesize( YUIDimension dim );
00081 
00085     void setSize( long newWidth, long newHeight );
00086 
00090     virtual bool setKeyboardFocus();
00091 
00095     void setTextdomain( const char * domain );
00096 
00097 
00098 public slots:
00099 
00105      int resolvePackageDependencies();
00106 
00112      int manualResolvePackageDependencies();
00113 
00120      int resolveSelectionDependencies();
00121 
00126     void autoResolveDependencies();
00127 
00135     int checkDiskUsage();
00136 
00140     void pkgExport();
00141 
00145     void pkgImport();
00146 
00151     void showAutoPkgList();
00152 
00156     void reject();
00157 
00161     void accept();
00162 
00166     void help();
00167 
00171     void symbolHelp();
00172 
00176     void keyboardHelp();
00177 
00182     void notImplemented();
00183 
00184 signals:
00185 
00191     void loadData();
00192 
00198     void refresh();
00199 
00200 
00201 protected:
00202 
00203     // Layout methods - create and layout widgets
00204 
00205     void basicLayout();
00206 
00207     void layoutLeftPane         ( QWidget * parent );
00208     void layoutFilters          ( QWidget * parent );
00209     void layoutRightPane        ( QWidget * parent );
00210     void layoutPkgList          ( QWidget * parent );
00211     void layoutDetailsViews     ( QWidget * parent );
00212     void layoutButtons          ( QWidget * parent );
00213     void layoutMenuBar          ( QWidget * parent );
00214 
00221     void makeConnections();
00222 
00229     void addMenus();
00230 
00234     void fakeData();
00235 
00244     void connectFilter( QWidget *       filter,
00245                         QWidget *       pkgList,
00246                         bool            hasUpdateSignal = true );
00253     virtual void keyPressEvent( QKeyEvent * ev );
00254 
00258     QString symHelp( const QString & imgFileName,
00259                      const QString & summary,
00260                      const QString & explanation        );
00261 
00262     
00266     QString keyHelp( const QString & key,
00267                      const QString & summary,
00268                      const QString & explanation        );
00269 
00273     static QString para( const QString & text );
00274     
00278     static QString listItem( const QString & text );
00279 
00280 
00281     // Data members
00282 
00283     bool                                _searchMode;
00284     bool                                _testMode;
00285     bool                                _updateMode;
00286     bool                                _youMode;
00287     int                                 _installedPkgs;
00288     QString                             _floppyDevice;
00289 
00290     QCheckBox *                         _autoDependenciesCheckBox;
00291     QProgressBar *                      _diskSpace;
00292     QPushButton *                       _checkDependenciesButton;
00293     QTabWidget *                        _detailsViews;
00294     QY2ComboTabWidget *                 _filters;
00295     YQPkgConflictDialog *               _pkgConflictDialog;
00296     YQPkgConflictDialog *               _selConflictDialog;
00297     YQPkgDependenciesView *             _pkgDependenciesView;
00298     YQPkgDescriptionView *              _pkgDescriptionView;
00299     YQPkgDiskUsageList *                _diskUsageList;
00300     YQPkgList *                         _pkgList;
00301     YQPkgRpmGroupTagsFilterView *       _rpmGroupTagsFilterView;
00302     YQPkgSearchFilterView *             _searchFilterView;
00303     YQPkgSelList *                      _selList;
00304     YQPkgSelectionsFilterView *         _selectionsFilterView;
00305     YQPkgStatusFilterView *             _statusFilterView;
00306     YQPkgTechnicalDetailsView *         _pkgTechnicalDetailsView;
00307     YQPkgUpdateProblemFilterView *      _updateProblemFilterView;
00308     YQPkgVersionsView *                 _pkgVersionsView;
00309     YQPkgYouPatchFilterView *           _youPatchFilterView;
00310     YQPkgYouPatchList *                 _youPatchList;
00311 
00312     QMenuBar *                          _menuBar;
00313     QPopupMenu *                        _fileMenu;
00314     QPopupMenu *                        _viewMenu;
00315     QPopupMenu *                        _pkgMenu;
00316     QPopupMenu *                        _youPatchMenu;
00317     QPopupMenu *                        _extrasMenu;
00318     QPopupMenu *                        _helpMenu;
00319 };
00320 
00321 
00322 #endif // YQPackageSelector_h

Generated on Fri Oct 14 19:03:46 2005 for yast2-qt by doxygen 1.3.6