void CRSpinCtrlUpdateEvent::Process (CRCapturedEvent **pendingEvt) { wxWindow *wdwEvtObject = wxDynamicCast (m_event->GetEventObject (), wxWindow); wxASSERT (wdwEvtObject != NULL); // If pending event is a text update event on the same (!) control, then // destroy it to prevent undesirable code emitting: if (*pendingEvt != NULL) { CRTextUpdateEvent *pendingTextUpdateEvt = dynamic_cast< CRTextUpdateEvent * >(*pendingEvt); if (pendingTextUpdateEvt != NULL) { if (m_event->GetEventObject () == pendingTextUpdateEvt->GetEvent ()->GetEventObject ()) { delete *pendingEvt; *pendingEvt = NULL; } } } CRWindowHierarchyHandler *hierarchy = CRWindowHierarchyHandler::GetInstance (); wxASSERT (hierarchy != NULL); m_spinCtrlName = wdwEvtObject->GetName (); m_containerName = hierarchy->FindContainerName (wdwEvtObject); wxASSERT (!m_containerName.IsEmpty ()); wxASSERT (m_event->IsCommandEvent ()); wxCommandEvent *cmdEvt = wxDynamicCast (m_event, wxCommandEvent); wxASSERT (cmdEvt != NULL); m_spinCtrlValue = cmdEvt->GetInt (); }
void CRButtonClickEvent::Process (CRCapturedEvent** WXUNUSED(pendingEvt)) { wxWindow *wdwEvtObject = wxDynamicCast (m_event->GetEventObject (), wxWindow); wxASSERT (wdwEvtObject != NULL); CRWindowHierarchyHandler *hierarchy = CRWindowHierarchyHandler::GetInstance(); wxASSERT (hierarchy != NULL); m_buttonName = wdwEvtObject->GetName (); m_containerName = hierarchy->FindContainerName (wdwEvtObject); wxASSERT (!m_containerName.IsEmpty ()); }
void CRTreeItemRightClickEvent::Process (CRCapturedEvent **pendingEvt) { wxWindow *wdwEvtObject = wxDynamicCast (m_event->GetEventObject (), wxWindow); wxASSERT (wdwEvtObject != NULL); CRWindowHierarchyHandler *hierarchy = CRWindowHierarchyHandler::GetInstance(); wxASSERT (hierarchy != NULL); m_treeCtrlName = wdwEvtObject->GetName (); m_containerName = hierarchy->FindContainerName (wdwEvtObject); wxASSERT (!m_containerName.IsEmpty ()); this->BuildTreeItemSiblingIdxHierarchyList (); }
void CRWindowHierarchyHandlerTest::testFindWindowContainerName () { wxDialog dialog (NULL, -1, _T("CRWindowHierarchyHandlerTest Dialog"), wxDefaultPosition); #ifndef __WXGTK__ WxGuiTestHelper::FlushEventQueue (); #endif wxSizer *topSizer = new wxBoxSizer (wxVERTICAL); wxPanel *upperPanel = new wxPanel (&dialog); upperPanel->SetName (_T("UpperPanel")); // XRC panel and button: wxPanel *panel = wxXmlResource::Get ()->LoadPanel (upperPanel, _T("CapturePanel")); CPPUNIT_ASSERT_MESSAGE ("Loading test panel failed", panel != NULL); wxButton *button = XRCCTRL (*panel, "ExitButton", wxButton); CPPUNIT_ASSERT_MESSAGE ("Test button not found", button != NULL); // "Manual panel and button: wxPanel *panel2 = new wxPanel (&dialog); panel2->SetName (_T("NonXRCPanel")); wxButton *button2 = new wxButton (panel2, -1, _T("Button2"));//, wxDefaultPosition button2->SetName (_T("NonXRCButton")); wxSizer *sizer = new wxBoxSizer (wxVERTICAL); sizer->Add (button2); panel2->SetSizer (sizer); // Finish dialog creation: topSizer->Add (upperPanel, 0, wxEXPAND| wxALL | wxGROW | wxADJUST_MINSIZE ); topSizer->Add (panel2, 0, wxEXPAND| wxALL | wxGROW | wxADJUST_MINSIZE ); dialog.SetSizer (topSizer); topSizer->SetSizeHints (&dialog); //dialog.Show (); //Tst::TempInteractive interactive; //interactive.ShowCurrentGui (); CRWindowHierarchyHandler *hierarchy = CRWindowHierarchyHandler::GetInstance (); wxString btnContName = hierarchy->FindContainerName (button); CPPUNIT_ASSERT_MESSAGE ("Find button window container name failed", !btnContName.IsEmpty ()); CPPUNIT_ASSERT_MESSAGE ("Find button window container returned wrong name", panel->GetName () == btnContName); wxString btnContName2 = hierarchy->FindContainerName (button2); CPPUNIT_ASSERT_MESSAGE ("Find button window container name failed (non XRC)", !btnContName2.IsEmpty ()); CPPUNIT_ASSERT_MESSAGE ("Find button window container returned wrong name (non XRC)", panel2->GetName () == btnContName2); }
void CRChoiceSelectionEvent::Process (CRCapturedEvent **pendingEvt) { wxWindow *wdwEvtObject = wxDynamicCast (m_event->GetEventObject (), wxWindow); wxASSERT (wdwEvtObject != NULL); CRWindowHierarchyHandler *hierarchy = CRWindowHierarchyHandler::GetInstance (); wxASSERT (hierarchy != NULL); m_choiceName = wdwEvtObject->GetName (); m_containerName = hierarchy->FindContainerName (wdwEvtObject); wxASSERT (!m_containerName.IsEmpty ()); wxASSERT (m_event->IsCommandEvent ()); wxCommandEvent *cmdEvt = wxDynamicCast (m_event, wxCommandEvent); wxASSERT (cmdEvt != NULL); int choiceSel = cmdEvt->GetSelection (); wxChoice *choice = wxDynamicCast (wdwEvtObject, wxChoice); wxASSERT (choice != NULL); m_choiceValue = choice->GetString (choiceSel); }
void CRCheckBoxClickEvent::Process (CRCapturedEvent **pendingEvt) { wxWindow *wdwEvtObject = wxDynamicCast (m_event->GetEventObject (), wxWindow); wxASSERT (wdwEvtObject != NULL); CRWindowHierarchyHandler *hierarchy = CRWindowHierarchyHandler::GetInstance (); wxASSERT (hierarchy != NULL); if (hierarchy->FindXRCNode (wdwEvtObject) != NULL) { m_isXRC = true; } m_checkBoxName = wdwEvtObject->GetName (); m_containerName = hierarchy->FindContainerName (wdwEvtObject); wxASSERT (!m_containerName.IsEmpty ()); wxASSERT (m_event->IsCommandEvent ()); wxCommandEvent *cmdEvt = wxDynamicCast (m_event, wxCommandEvent); wxASSERT (cmdEvt != NULL); m_isChecked = cmdEvt->IsChecked (); }