- Fix alignment and transparency of bitmaps in wxDataViewCtrl (Eric Jensen).
- Fix crash when auto-sizing a wxDataViewCtrl column (Spencer T. Parkin).
- Add wxHtmlTag::GetParamAsString() convenience method.
+- Add wxActivateEvent::GetActivationReason() (Trigve).
wxGTK:
class WXDLLIMPEXP_CORE wxActivateEvent : public wxEvent
{
public:
- wxActivateEvent(wxEventType type = wxEVT_NULL, bool active = true, int Id = 0)
- : wxEvent(Id, type)
- { m_active = active; }
+ // Type of activation. For now we can only detect if it was by mouse or by
+ // some other method and even this is only available under wxMSW.
+ enum Reason
+ {
+ Reason_Mouse,
+ Reason_Unknown
+ };
+
+ wxActivateEvent(wxEventType type = wxEVT_NULL, bool active = true,
+ int Id = 0, Reason activationReason = Reason_Unknown)
+ : wxEvent(Id, type),
+ m_activationReason(activationReason)
+ {
+ m_active = active;
+ }
wxActivateEvent(const wxActivateEvent& event)
: wxEvent(event)
- { m_active = event.m_active; }
+ {
+ m_active = event.m_active;
+ m_activationReason = event.m_activationReason;
+ }
bool GetActive() const { return m_active; }
+ Reason GetActivationReason() const { return m_activationReason;}
virtual wxEvent *Clone() const { return new wxActivateEvent(*this); }
private:
bool m_active;
+ Reason m_activationReason;
private:
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxActivateEvent)
class wxActivateEvent : public wxEvent
{
public:
+ /**
+ Specifies the reason for the generation of this event.
+
+ See GetActivationReason().
+
+ @since 3.0
+ */
+ enum Reason
+ {
+ /// Window activated by mouse click.
+ Reason_Mouse,
+ /// Window was activated with some other method than mouse click.
+ Reason_Unknown
+ };
+
/**
Constructor.
*/
wxActivateEvent(wxEventType eventType = wxEVT_NULL, bool active = true,
- int id = 0);
+ int id = 0, Reason ActivationReason = Reason_Unknown);
/**
Returns @true if the application or window is being activated, @false otherwise.
*/
bool GetActive() const;
+
+ /**
+ Allows to check if the window was activated by clicking it with the
+ mouse or in some other way.
+
+ This method is currently only implemented in wxMSW and returns @c
+ Reason_Mouse there if the window was activated by a mouse click and @c
+ Reason_Unknown if it was activated in any other way (e.g. from
+ keyboard or programmatically).
+
+ Under all the other platforms, @c Reason_Unknown is always returned.
+
+ @since 3.0
+ */
+ Reason GetActivationReason() const;
};
{
wxActivateEvent event(wxEVT_ACTIVATE,
(state == WA_ACTIVE) || (state == WA_CLICKACTIVE),
- m_windowId);
+ m_windowId,
+ state == WA_CLICKACTIVE
+ ? wxActivateEvent::Reason_Mouse
+ : wxActivateEvent::Reason_Unknown);
event.SetEventObject(this);
return HandleWindowEvent(event);