void SListBoxEx::NotifySelChange( int nOldSel,int nNewSel) { EventLBSelChanging evt1(this); evt1.nOldSel=nOldSel; evt1.nNewSel=nNewSel; FireEvent(evt1); if(evt1.bCancel) return ; m_iSelItem=nNewSel; if(nOldSel!=-1) { m_arrItems[nOldSel]->ModifyItemState(0,WndState_Check); RedrawItem(nOldSel); } if(m_iSelItem!=-1) { m_arrItems[m_iSelItem]->ModifyItemState(WndState_Check,0); RedrawItem(m_iSelItem); } EventLBSelChanged evt2(this); evt2.nOldSel=nOldSel; evt2.nNewSel=nNewSel; FireEvent(evt2); }
TGraph GetCurve(int Points,const double & hi_ex_set) { TGraph curve; if(!gPrimaryReaction.IsSet()){ std::cout<<"Reaction Masses have not been set"<<std::endl; exit(EXIT_FAILURE); } if(!gPrimaryReaction.BeamEnergy()){ std::cout<<"Beam Energy has not been set"<<std::endl; exit(EXIT_FAILURE); } sim::RN_SimEvent evt1(gPrimaryReaction.BeamEnergy(),gPrimaryReaction.M_Beam(),gPrimaryReaction.M_Target(),gPrimaryReaction.M_Recoil(),gPrimaryReaction.M_Fragment()); // Fill the points of the kinematic curve int p=0; while(p<Points){ double theta_deg = 180.0*p/Points; double phi=2.*M_PI*global::myRnd.Rndm(); TVector3 nv; nv.SetMagThetaPhi(1.,theta_deg*M_PI/180.0,phi); if(!evt1.radiate_in_CM(nv,hi_ex_set)) continue; else curve.SetPoint(p, evt1.getLVrad().Theta()*180/3.14,(double)(evt1.getLVrad().E()-evt1.getLVrad().M())); p++; } // end for(p) return curve; }
//region "Serializado y desserializado" GNC::GCS::Widgets::WRule::WRule(IWidgetsManager* pManager, long vid, wxXmlNode* nodo): GNC::GCS::Widgets::IWidget(pManager, vid, "Regla"), GNC::GCS::Widgets::IWidgetSerializable(nodo), m_MouseDown(false), m_Angulo(0.0), m_Pendiente(0.0), m_Distancia(0), m_SupportsCallibration(false) { if(nodo->GetName() != wxT("rule_widget")) { std::cerr<< "Ha ocurrido un error al desserializar el widget regla"<<std::endl; } wxXmlNode *child = nodo->GetChildren(); while (child) { if(child->GetName() == wxT("node0")) { m_Vertices[0] = GNC::GCS::Nodo::Deserializar(child); } else if(child->GetName() == wxT("node1")) { m_Vertices[1] = GNC::GCS::Nodo::Deserializar(child); } child = child->GetNext(); } GNC::GCS::Events::EventoModificacionImagen evt1(m_pManager->GetVista()); GNC::GCS::IEventsController::Instance()->Registrar(this, evt1); m_pTextBox = new GNC::GCS::Widgets::WTextBox(m_pManager, m_VID, m_Vertices[1], GNC::GCS::Widgets::WTextBox::TNM_Dynamic, "ruleBox", ""); m_pTextBox->SetTexto("0"); m_pManager->InsertarWidget(m_pTextBox); }
void EvtConnectionTestCase::MultiConnectionTest() { // events used below wxTestEvent evt; wxTestEvent evt1(wxEVT_TEST1); wxTestEvent evt2(wxEVT_TEST2); // One source wxEvtHandler eh1; evt.SetEventObject(&eh1); gs_psrc1 = NULL; gs_psrc2 = &eh1; { // ...and one sink wxTestSink ts; eh1.Connect(wxEVT_TEST, (wxObjectEventFunction)&wxTestSink::OnTestEvent, NULL, &ts); eh1.Connect(wxEVT_TEST1, (wxObjectEventFunction)&wxTestSink::OnTestEvent1, NULL, &ts); eh1.Connect(wxEVT_TEST2, (wxObjectEventFunction)&wxTestSink::OnTestEvent2, NULL, &ts); // Generate events gs_value = 0; eh1.ProcessEvent(evt); eh1.ProcessEvent(evt1); eh1.ProcessEvent(evt2); CPPUNIT_ASSERT( gs_value==0x01010100 ); { // Declare weak references to the objects (using same list) wxEvtHandlerRef re(&eh1), rs(&ts); } // And now destroyed eh1.Disconnect(wxEVT_TEST, (wxObjectEventFunction)&wxTestSink::OnTestEvent, NULL, &ts); eh1.ProcessEvent(evt); eh1.ProcessEvent(evt1); eh1.ProcessEvent(evt2); CPPUNIT_ASSERT_EQUAL( 0x02010200, gs_value ); } // No connection should be left now gs_value = 0; eh1.ProcessEvent(evt); eh1.ProcessEvent(evt1); eh1.ProcessEvent(evt2); // Nothing should have been done CPPUNIT_ASSERT_EQUAL( 0, gs_value ); }
void process( send_to_venue_command_ptr cmd ) { message_ptr evt1( new send_to_venue_event ); message_ptr evt2( new send_to_venue_event ); evt1->data_ = "evt1"; evt2->data_ = "evt2"; cmd->data_ = "cmd"; persist( { evt1, evt2 }, [ cmd ]() { std::cout << "complete: " << cmd->data_ << std::endl; } ); }
void ReopenEditor::ShowList() { CodeBlocksLogEvent evt1(cbEVT_REMOVE_LOG_WINDOW, m_pListLog); Manager::Get()->ProcessEvent(evt1); CodeBlocksDockEvent evt2(cbEVT_REMOVE_DOCK_WINDOW); evt2.pWindow = m_pListLog; Manager::Get()->ProcessEvent(evt2); if(m_IsManaged) { CodeBlocksLogEvent evt1(cbEVT_ADD_LOG_WINDOW, m_pListLog, _("Closed files list"), new wxBitmap(wxXmlResource::Get()->LoadBitmap(_T("bmp_clfile_log")))); Manager::Get()->ProcessEvent(evt1); CodeBlocksLogEvent evt2(cbEVT_SWITCH_TO_LOG_WINDOW, m_pListLog); Manager::Get()->ProcessEvent(evt2); } else { m_pListLog->Reparent(Manager::Get()->GetAppFrame()); m_pListLog->SetSize(wxSize(800,94)); m_pListLog->SetInitialSize(wxSize(800,94)); CodeBlocksDockEvent evt(cbEVT_ADD_DOCK_WINDOW); evt.name = _T("ReopenEditorListPane"); evt.title = _("Closed file list"); evt.pWindow = m_pListLog; evt.dockSide = CodeBlocksDockEvent::dsBottom; evt.shown = true; evt.hideable = true; evt.desiredSize.Set(800, 94); evt.floatingSize.Set(800, 94); evt.minimumSize.Set(350, 94); Manager::Get()->ProcessEvent(evt); } }
GNC::GCS::Widgets::WRule::WRule(IWidgetsManager* pManager, long vid, GNC::GCS::Nodo nodos[2], bool supportsCallibration, const char* nombre) : GNC::GCS::Widgets::IWidget(pManager, vid, nombre,0,TID_USER_ANNOTATION_WIDGET), GNC::GCS::Widgets::IWidgetSerializable(), m_MouseDown(false), m_Angulo(0.0), m_Pendiente(0.0), m_Distancia(0), m_SupportsCallibration(supportsCallibration) { m_Vertices[0] = nodos[0]; m_Vertices[1] = nodos[1]; m_Oculto = false; GNC::GCS::Events::EventoModificacionImagen evt1(m_pManager->GetVista()); GNC::GCS::IEventsController::Instance()->Registrar(this, evt1); m_pTextBox = new GNC::GCS::Widgets::WTextBox(m_pManager, m_VID, m_Vertices[1], GNC::GCS::Widgets::WTextBox::TNM_Dynamic, "ruleBox", ""); m_pTextBox->SetTexto("0"); m_pManager->InsertarWidget(m_pTextBox); }
void SListBox::NotifySelChange( int nOldSel,int nNewSel) { EventLBSelChanging evt1(this); evt1.nOldSel=nOldSel; evt1.nNewSel=nNewSel; FireEvent(evt1); if(evt1.bCancel) return; m_iSelItem=nNewSel; if(nOldSel!=-1) RedrawItem(nOldSel); if(m_iSelItem!=-1) RedrawItem(m_iSelItem); EventLBSelChanged evt2(this); evt2.nOldSel=nOldSel; evt2.nNewSel=nNewSel; FireEvent(evt2); }
void ReopenEditor::ShowList() { CodeBlocksLogEvent evt1(cbEVT_REMOVE_LOG_WINDOW, m_pListLog); Manager::Get()->ProcessEvent(evt1); CodeBlocksDockEvent evt2(cbEVT_REMOVE_DOCK_WINDOW); evt2.pWindow = m_pListLog; Manager::Get()->ProcessEvent(evt2); if(m_IsManaged) { wxString prefix = ConfigManager::GetDataFolder() + _T("/images/16x16/"); wxBitmap * bmp = new wxBitmap(cbLoadBitmap(prefix + _T("undo.png"), wxBITMAP_TYPE_PNG)); CodeBlocksLogEvent evt3(cbEVT_ADD_LOG_WINDOW, m_pListLog, _("Closed files list"), bmp); Manager::Get()->ProcessEvent(evt3); CodeBlocksLogEvent evt4(cbEVT_SWITCH_TO_LOG_WINDOW, m_pListLog); Manager::Get()->ProcessEvent(evt4); } else { m_pListLog->Reparent(Manager::Get()->GetAppFrame()); m_pListLog->SetSize(wxSize(800,94)); m_pListLog->SetInitialSize(wxSize(800,94)); CodeBlocksDockEvent evt(cbEVT_ADD_DOCK_WINDOW); evt.name = _T("ReopenEditorListPane"); evt.title = _("Closed file list"); evt.pWindow = m_pListLog; evt.dockSide = CodeBlocksDockEvent::dsBottom; evt.shown = true; evt.hideable = true; evt.desiredSize.Set(800, 94); evt.floatingSize.Set(800, 94); evt.minimumSize.Set(350, 94); Manager::Get()->ProcessEvent(evt); } }
TGraph GetSecondaryDecayCurve(int Points,const double & hi_ex_set,const double& decay_ex_set) { TGraph curve; if(!gPrimaryReaction.IsSet()){ std::cout<<"Reaction Masses have not been set"<<std::endl; exit(EXIT_FAILURE); } if(!gPrimaryReaction.BeamEnergy()){ std::cout<<"Beam Energy has not been set"<<std::endl; exit(EXIT_FAILURE); } sim::RN_SimEvent evt1(gPrimaryReaction.BeamEnergy(),gPrimaryReaction.M_Beam(),gPrimaryReaction.M_Target(),gPrimaryReaction.M_Recoil(),gPrimaryReaction.M_Fragment()); sim::RN_SimEvent evt2(gPrimaryReaction.M_Fragment(),gPrimaryReaction.M_Decay_Product(),gPrimaryReaction.M_Heavy_Decay()); // Fill the points of the kinematic curve int p=0; while(p<Points){ double theta_deg = 175; // assume backward angle from inverse kinematics double phi=2.*M_PI*global::myRnd.Rndm(); TVector3 nv; nv.SetMagThetaPhi(1.,theta_deg*M_PI/180.0,phi); if(!evt1.radiate_in_CM(nv,hi_ex_set)) continue; theta_deg = 180* p / Points; phi = 2.*M_PI*global::myRnd.Rndm(); TVector3 pv; pv.SetMagThetaPhi(1.,theta_deg*M_PI/180.0,phi); if(!evt2.radiate_in_CM(evt1.getLVhi(),pv,decay_ex_set)) continue; curve.SetPoint(p, evt2.getLVrad().Theta()*180/3.14,(double)(evt2.getLVrad().E() - evt2.getLVrad().M())); p++; } // end for(p) return curve; }