1 /*
2  Copyright (C) 2010-2014 Kristian Duske
3 
4  This file is part of TrenchBroom.
5 
6  TrenchBroom is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  TrenchBroom is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with TrenchBroom.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #include "FlagChangedCommand.h"
21 
22 wxDEFINE_EVENT(FLAG_CHANGED_EVENT, TrenchBroom::View::FlagChangedCommand);
23 
24 namespace TrenchBroom {
25     namespace View {
IMPLEMENT_DYNAMIC_CLASS(FlagChangedCommand,wxNotifyEvent)26         IMPLEMENT_DYNAMIC_CLASS(FlagChangedCommand, wxNotifyEvent)
27         FlagChangedCommand::FlagChangedCommand() :
28         wxNotifyEvent(FLAG_CHANGED_EVENT, wxID_ANY),
29         m_index(0),
30         m_flagSetValue(0),
31         m_flagMixedValue(0) {}
32 
setValues(const size_t index,const int flagSetValue,const int flagMixedValue)33         void FlagChangedCommand::setValues(const size_t index, const int flagSetValue, const int flagMixedValue) {
34             m_index = index;
35             m_flagSetValue = flagSetValue;
36             m_flagMixedValue = flagMixedValue;
37         }
38 
flagSetValue() const39         int FlagChangedCommand::flagSetValue() const {
40             return m_flagSetValue;
41         }
42 
flagMixedValue() const43         int FlagChangedCommand::flagMixedValue() const {
44             return m_flagMixedValue;
45         }
46 
index() const47         size_t FlagChangedCommand::index() const {
48             return m_index;
49         }
50 
flagSet() const51         bool FlagChangedCommand::flagSet() const {
52             return (m_flagSetValue & (1 << m_index)) != 0;
53         }
54 
Clone() const55         wxEvent* FlagChangedCommand::Clone() const {
56             return new FlagChangedCommand(*this);
57         }
58 
59     }
60 }
61