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