mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-11-04 11:10:05 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			67 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#include <scwx/qt/settings/settings_variable_base.hpp>
 | 
						|
 | 
						|
namespace scwx
 | 
						|
{
 | 
						|
namespace qt
 | 
						|
{
 | 
						|
namespace settings
 | 
						|
{
 | 
						|
 | 
						|
static const std::string logPrefix_ =
 | 
						|
   "scwx::qt::settings::settings_variable_base";
 | 
						|
 | 
						|
class SettingsVariableBase::Impl
 | 
						|
{
 | 
						|
public:
 | 
						|
   explicit Impl(const std::string& name) : name_ {name} {}
 | 
						|
 | 
						|
   ~Impl() {}
 | 
						|
 | 
						|
   const std::string name_;
 | 
						|
 | 
						|
   boost::signals2::signal<void()> changedSignal_ {};
 | 
						|
   boost::signals2::signal<void()> stagedSignal_ {};
 | 
						|
};
 | 
						|
 | 
						|
SettingsVariableBase::SettingsVariableBase(const std::string& name) :
 | 
						|
    p(std::make_unique<Impl>(name))
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
SettingsVariableBase::~SettingsVariableBase() = default;
 | 
						|
 | 
						|
SettingsVariableBase::SettingsVariableBase(SettingsVariableBase&&) noexcept =
 | 
						|
   default;
 | 
						|
 | 
						|
SettingsVariableBase&
 | 
						|
SettingsVariableBase::operator=(SettingsVariableBase&&) noexcept = default;
 | 
						|
 | 
						|
std::string SettingsVariableBase::name() const
 | 
						|
{
 | 
						|
   return p->name_;
 | 
						|
}
 | 
						|
 | 
						|
boost::signals2::signal<void()>& SettingsVariableBase::changed_signal()
 | 
						|
{
 | 
						|
   return p->changedSignal_;
 | 
						|
}
 | 
						|
 | 
						|
boost::signals2::signal<void()>& SettingsVariableBase::staged_signal()
 | 
						|
{
 | 
						|
   return p->stagedSignal_;
 | 
						|
}
 | 
						|
 | 
						|
bool SettingsVariableBase::Equals(const SettingsVariableBase& o) const
 | 
						|
{
 | 
						|
   return p->name_ == o.p->name_;
 | 
						|
}
 | 
						|
 | 
						|
bool operator==(const SettingsVariableBase& lhs,
 | 
						|
                const SettingsVariableBase& rhs)
 | 
						|
{
 | 
						|
   return typeid(lhs) == typeid(rhs) && lhs.Equals(rhs);
 | 
						|
}
 | 
						|
 | 
						|
} // namespace settings
 | 
						|
} // namespace qt
 | 
						|
} // namespace scwx
 |