libyui-ncurses-pkg  2.48.5.2
NCPkgFilterMain.cc
1 /****************************************************************************
2 |
3 | Copyright (c) [2002-2011] Novell, Inc.
4 | All Rights Reserved.
5 |
6 | This program is free software; you can redistribute it and/or
7 | modify it under the terms of version 2 of the GNU General Public License as
8 | published by the Free Software Foundation.
9 |
10 | This program is distributed in the hope that it will be useful,
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | GNU General Public License for more details.
14 |
15 | You should have received a copy of the GNU General Public License
16 | along with this program; if not, contact Novell, Inc.
17 |
18 | To contact Novell about this file by physical or electronic mail,
19 | you may find current contact information at www.novell.com
20 |
21 |***************************************************************************/
22 
23 
24 /*---------------------------------------------------------------------\
25 | |
26 | __ __ ____ _____ ____ |
27 | \ \ / /_ _/ ___|_ _|___ \ |
28 | \ V / _` \___ \ | | __) | |
29 | | | (_| |___) || | / __/ |
30 | |_|\__,_|____/ |_| |_____| |
31 | |
32 | core system |
33 | (C) SuSE GmbH |
34 \----------------------------------------------------------------------/
35 
36  File: NCPkgFilterMain.cc
37 
38  Author: Hedgehog Painter <kmachalkova@suse.cz>
39 
40 /-*/
41 
42 #define YUILogComponent "ncurses-pkg"
43 #include <YUILog.h>
44 
45 #include "NCPkgFilterMain.h"
46 #include "NCPkgFilterService.h"
47 
48 using std::endl;
49 
50 /*
51  Textdomain "ncurses-pkg"
52 */
53 
54 NCPkgFilterMain::NCPkgFilterMain (YWidget *parent, std::string label, NCPackageSelector *pkger )
55  :NCComboBox(parent, label, false)
56  ,pkg (pkger)
57 {
58  createLayout();
59  setNotify( true );
60 }
61 
62 NCPkgFilterMain::~NCPkgFilterMain()
63 {
64 
65 }
66 
67 void NCPkgFilterMain::createLayout()
68 {
69  patterns = new YItem( _( "Patterns" ) );
70  items.push_back( patterns );
71 
72  languages = new YItem( _( "Languages" ) );
73  items.push_back( languages );
74 
75  rpmgroups = new YItem( _( "RPM Groups" ) );
76  items.push_back( rpmgroups );
77 
78  repositories = new YItem( _( "Repositories" ) );
79  items.push_back( repositories );
80 
82  {
83  services = new YItem( _( "Services" ) );
84  items.push_back( services );
85  }
86 
87  search = new YItem( _( "Search" ) );
88  search->setSelected();
89  items.push_back( search );
90 
91  inst_summary = new YItem( _( "Installation Summary" ) );
92  items.push_back( inst_summary );
93 
94  pkg_class = new YItem( _( "Package Classification" ) );
95  items.push_back( pkg_class );
96 
97  addItems( items );
98 
99 }
100 
101 bool NCPkgFilterMain::handleEvent ( )
102 {
103 
104  YItem *currentItem = selectedItem();
105 
106  if ( currentItem == rpmgroups )
107  pkg->replaceFilter ( NCPackageSelector::RPMGroups );
108  else if ( currentItem == patterns )
109  pkg->replaceFilter ( NCPackageSelector::Patterns );
110  else if ( currentItem == languages )
111  pkg->replaceFilter ( NCPackageSelector::Languages );
112  else if ( currentItem == repositories )
113  pkg->replaceFilter ( NCPackageSelector::Repositories );
114  else if ( currentItem == services )
115  pkg->replaceFilter ( NCPackageSelector::Services );
116  else if ( currentItem == search )
117  pkg->replaceFilter ( NCPackageSelector::Search );
118  else if ( currentItem == inst_summary )
119  pkg->replaceFilter ( NCPackageSelector::Summary );
120  else if ( currentItem == pkg_class )
121  pkg->replaceFilter ( NCPackageSelector::PkgClassification );
122  else
123  yuiError() << "zatim nic" << endl;
124  return true;
125 }
static bool any_service()