1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#pragma once
#include "imessagebus.h"
#include "iselection.h"
namespace selection
{
/**
* Message sent out by the main selection system when the user
* hits a shortcut to toggle the component selection mode.
* This gives listeners a chance to react to the request
* before it is handled by the RadiantSelectionSystem itself.
* Unhandled requests will be processed as usual.
*/
class ComponentSelectionModeToggleRequest :
public radiant::IMessage
{
private:
bool _handled;
ComponentSelectionMode _mode;
public:
ComponentSelectionModeToggleRequest(ComponentSelectionMode mode) :
_handled(false),
_mode(mode)
{}
std::size_t getId() const override
{
return Type::ComponentSelectionModeToggleRequest;
}
ComponentSelectionMode getMode() const
{
return _mode;
}
// Handled requests will not be processed by the selection system
void setHandled(bool handled)
{
_handled = true;
}
// TRUE whether this request has been handled
bool isHandled() const
{
return _handled;
}
};
}
|