~brandontschaefer/unity/move-pointer-barrier-to-xi-1.6.99.1

1276.4.8 by Neil Jagdish Patel
import in filters that do marshalling/unmarshalling and logic of the views
1
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
2
/*
3
 * Copyright (C) 2011 Canonical Ltd
4
 *
5
 * This program is free software: you can redistribute it and/or modify
6
 * it under the terms of the GNU General Public License version 3 as
7
 * published by the Free Software Foundation.
8
 *
9
 * This program is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 * GNU General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU General Public License
15
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
 *
17
 * Authored by: Neil Jagdish Patel <neil.patel@canonical.com>
18
 */
19
1276.4.11 by Neil Jagdish Patel
s/Button/Option for filters
20
#ifndef UNITY_CHECK_OPTION_FILTER_H
21
#define UNITY_CHECK_OPTION_FILTER_H
1276.4.8 by Neil Jagdish Patel
import in filters that do marshalling/unmarshalling and logic of the views
22
23
#include "Filter.h"
24
25
namespace unity
26
{
27
namespace dash
28
{
29
1276.4.11 by Neil Jagdish Patel
s/Button/Option for filters
30
class CheckOptionFilter : public Filter
1276.4.8 by Neil Jagdish Patel
import in filters that do marshalling/unmarshalling and logic of the views
31
{
32
public:
1276.4.11 by Neil Jagdish Patel
s/Button/Option for filters
33
  typedef std::shared_ptr<CheckOptionFilter> Ptr;
34
35
  typedef std::vector<FilterOption::Ptr> CheckOptions;
36
37
  CheckOptionFilter(DeeModel* model, DeeModelIter* iter);
1276.4.8 by Neil Jagdish Patel
import in filters that do marshalling/unmarshalling and logic of the views
38
39
  void Clear();
40
1276.4.11 by Neil Jagdish Patel
s/Button/Option for filters
41
  nux::ROProperty<CheckOptions> options;
3008.6.4 by Nick Dedekind
Filter bar all button removal
42
  nux::ROProperty<bool> show_all_button;
1276.4.8 by Neil Jagdish Patel
import in filters that do marshalling/unmarshalling and logic of the views
43
1276.4.11 by Neil Jagdish Patel
s/Button/Option for filters
44
  sigc::signal<void, FilterOption::Ptr> option_added;
45
  sigc::signal<void, FilterOption::Ptr> option_removed;
1276.4.8 by Neil Jagdish Patel
import in filters that do marshalling/unmarshalling and logic of the views
46
47
protected:
48
  void Update(Filter::Hints& hints);
49
50
private:
1276.4.14 by Neil Jagdish Patel
CheckOption tests and some cleanup
51
  void UpdateState();
1276.4.11 by Neil Jagdish Patel
s/Button/Option for filters
52
  CheckOptions const& get_options() const;
3008.6.4 by Nick Dedekind
Filter bar all button removal
53
  bool get_show_all_button() const;
1276.4.14 by Neil Jagdish Patel
CheckOption tests and some cleanup
54
  void OptionChanged(bool is_active, std::string const& id);
1276.4.8 by Neil Jagdish Patel
import in filters that do marshalling/unmarshalling and logic of the views
55
56
private:
1276.4.11 by Neil Jagdish Patel
s/Button/Option for filters
57
  CheckOptions options_;
3008.6.4 by Nick Dedekind
Filter bar all button removal
58
  bool show_all_button_;
1276.4.14 by Neil Jagdish Patel
CheckOption tests and some cleanup
59
1276.4.8 by Neil Jagdish Patel
import in filters that do marshalling/unmarshalling and logic of the views
60
};
61
62
}
63
}
64
65
#endif