libyui-gtk-pkg  2.42.9
 All Classes
YGPackageSelector.h
1 /********************************************************************
2  * YaST2-GTK - http://en.opensuse.org/YaST2-GTK *
3  ********************************************************************/
4 
5 /* YPackageSelector is implemented as a singleton, allowing
6  intercommunication of the widgets that compound it.
7 */
8 
9 #ifndef YGTK_PACKAGE_SELECTOR_H
10 #define YGTK_PACKAGE_SELECTOR_H
11 
12 #include <YPackageSelector.h>
13 #include "YGWidget.h"
14 #include "yzyppwrapper.h"
15 
16 //#define HAS_VESTIGIAL_DIALOG
17 
18 struct YGtkPkgUndoList;
19 struct YGtkPkgSearchEntry;
22 
23 class YGPackageSelector : public YPackageSelector, YGWidget
24 {
25 public:
26  YGPackageSelector (YWidget *parent, long mode);
27  virtual ~YGPackageSelector();
28 
29  static YGPackageSelector *get() { return singleton; }
30 
31  void apply();
32  void cancel();
33 
34  void showFilterWidget (const char *filter);
35  void searchFor (Ypp::PoolQuery::StringAttribute attrb, const std::string &text);
36  void popupChanges();
37  void filterPkgSuffix (const std::string &suffix, bool enable_filter);
38  void showRepoManager();
39 
40  void showHistoryDialog();
41 #ifdef HAS_VESTIGIAL_DIALOG
42  void showVestigialDialog();
43 #endif
44 
45  YGtkPkgUndoList *undoList();
46  YGtkPkgSearchEntry *getSearchEntry();
47 
48  // let the UI function while processing something; returns 'true' if the
49  // function was called again while the UI was 'breathing' -- in which case
50  // you probably want to return.
51  bool yield();
52 
53  YGWIDGET_IMPL_COMMON (YPackageSelector)
54 
55  struct Impl;
56  Impl *impl;
57 
58 private:
59  static YGPackageSelector *singleton;
60 
61  YGtkPkgHistoryDialog *m_historyDialog;
62 #ifdef HAS_VESTIGIAL_DIALOG
63  YGtkPkgVestigialDialog *m_vestigialDialog;
64 #endif
65 };
66 
67 #endif
68