[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

[XaraXtreme-dev] FW: [XaraXtreme-commits] Commit Complete



Title: FW: [XaraXtreme-commits] Commit Complete

This breaks the handling of hotkeys, when there are no open documents and hence no render windows. So don't report this bug yet!

   Luke

-----Original Message-----
From: owner-commits@xxxxxxxxxxxxxxxx on behalf of subversion@xxxxxxxxxxxxxx
Sent: Sun 5/7/2006 4:20 PM
To: commits@xxxxxxxxxxxxxx
Subject: [XaraXtreme-commits] Commit Complete

Commit by  : luke
Repository : xara
Revision   : 969
Date       : Sun May  7 16:20:58 BST 2006

Changed paths:
   M /Trunk/XaraLX/wxOil/camview.cpp
   M /Trunk/XaraLX/wxOil/camview.h
   M /Trunk/XaraLX/wxOil/keypress.cpp
   M /Trunk/XaraLX/wxOil/rendwnd.cpp

Place keyhandler in renderwindow which is engineered to have focus most of the time, seems to fix the key problem reported by Charles


Diff:
Index: Trunk/XaraLX/wxOil/rendwnd.cpp
===================================================================
--- Trunk/XaraLX/wxOil/rendwnd.cpp      (revision 968)
+++ Trunk/XaraLX/wxOil/rendwnd.cpp      (revision 969)
@@ -107,8 +107,10 @@
 //#include "palman.h"
 #include "ccdc.h"
 //#include "prncamvw.h"
+#include "docview.h"
 #include "camview.h"
 #include "camframe.h"
+#include "keypress.h"

 DECLARE_SOURCE("$Revision$");

@@ -373,13 +375,13 @@
 /*********************************************************************************************
 >      void CRenderWnd::OnKey( wxKeyEvent & event )

-       Author:         Alex Bligh <alex@xxxxxxxxxxx>
-       Created:        4 May 2006
-       Inputs:         pointer to the event
+       Author:         Luke_Hart <lukeh@xxxxxxxx>
+       Created:        7 May 2006
+       Inputs:         reference to the event
        Outputs:        -
        Returns:        -
-       Purpose:        THIS DOES NOT PROCESS KEYS. It merely notes a key has been pressed and
-                               stops the mouse motion mangler eating the next mouse move
+       Purpose:        This now the main keypress handling function. It also notes a key has been
+                               pressed and stops the mouse motion mangler eating the next mouse move.
        Errors:         -
        Scope:      Protected
        SeeAlso:    -
@@ -388,9 +390,20 @@

 void CRenderWnd::OnKey( wxKeyEvent & event )
 {
+       // This is Alex Blighs (alex@xxxxxxxxxxx) mouse skip inhibition code
        if (m_pView)
                m_pView->DontSkipNextMouse();
+      
+       // Make sure the kernel knows which view/doc the event applies to, if any.
+       if( NULL != Document::GetSelected() )
+               Document::GetSelected()->SetCurrent();
+       if( NULL != DocView::GetSelected() )
+               DocView::GetSelected()->SetCurrent();

+       // Process keyboard messages
+       if( !CCamFrame::GetMainFrame()->IsIconized() && KeyPress::TranslateMessage( &event ) )
+               return;
+
        event.Skip(); // Pass the key event on to someone who really wants it.
 }

Index: Trunk/XaraLX/wxOil/camview.h
===================================================================
--- Trunk/XaraLX/wxOil/camview.h        (revision 968)
+++ Trunk/XaraLX/wxOil/camview.h        (revision 969)
@@ -249,7 +249,6 @@
        void    OnMouseWheel( wxMouseEvent &event );
        void    OnScroll( wxScrollEvent &event);
        void    OnDragIdle( wxTimerEvent &event);               // OnTimer(DragIdleID)
-       void    OnKeyEvent( wxKeyEvent& event );

        void    OnSetCursor( wxSetCursorEvent& event );

Index: Trunk/XaraLX/wxOil/camview.cpp
===================================================================
--- Trunk/XaraLX/wxOil/camview.cpp      (revision 968)
+++ Trunk/XaraLX/wxOil/camview.cpp      (revision 969)
@@ -107,7 +107,6 @@
 #include "csrstack.h"

 #include "rendwnd.h"
-#include "keypress.h"
 #include "docview.h"
 #include "prntview.h"
 #include "osrndrgn.h"
@@ -148,9 +147,6 @@
        EVT_SIZE(CCamView::OnSize)
        EVT_SCROLL(CCamView::OnScroll)
        EVT_TIMER(DragIdleID, CCamView::OnDragIdle)
-
-       EVT_KEY_UP(                     CCamView::OnKeyEvent )
-       EVT_KEY_DOWN(           CCamView::OnKeyEvent )
 END_EVENT_TABLE()

 /*********************************************************************************************
@@ -2995,37 +2991,7 @@
        }
 }

-
 /*********************************************************************************************
->      void CCamView::OnKeyEvent(wxKeyEvent& event)
-
-       Author:         Luke_Hart (Xara Group Ltd) <lukeh@xxxxxxxx>
-       Created:        05/05/06
-       Inputs:         wxKeyEvent&             event - The event object
-       Outputs:        -
-       Returns:        -
-       Purpose:        Forward the keypress event to the central key handler
-       Errors:         -
-       Scope:          Protected
-       SeeAlso:       
-**********************************************************************************************/
-
-void CCamView::OnKeyEvent( wxKeyEvent &event )
-{
-       // Make sure the kernel knows which view/doc the event applies to, if any.
-       if( NULL != Document::GetSelected() )
-               Document::GetSelected()->SetCurrent();
-       if( NULL != DocView::GetSelected() )
-               DocView::GetSelected()->SetCurrent();
-
-       // Process keyboard messages
-       if( !CCamFrame::GetMainFrame()->IsIconized() && KeyPress::TranslateMessage( &event ) )
-               return;
-      
-       event.Skip();
-}
-
-/*********************************************************************************************
 >      void CCamView::ScrollTo(const WorkCoord& offset)

        Author:         Justin_Flude (Xara Group Ltd) <camelotdev@xxxxxxxx>
Index: Trunk/XaraLX/wxOil/keypress.cpp
===================================================================
--- Trunk/XaraLX/wxOil/keypress.cpp     (revision 968)
+++ Trunk/XaraLX/wxOil/keypress.cpp     (revision 969)
@@ -1618,6 +1618,9 @@
        if (KeyDown || KeyUp)
                ControlHelper::BubbleHelpDisable();
 #endif
+      
+       TRACEUSER( "jlh92", _T("TM - %s
"), wxEVT_KEY_DOWN == pMsg->GetEventType() ? _T("KDN") :
+               wxEVT_KEY_UP == pMsg->GetEventType() ? _T("KUP") : _T("K??") );

        // Normal key processing.
        KeyPress* pKeyPress;


Xara