コード例 #1
0
ファイル: SListboxex.cpp プロジェクト: 435420057/soui
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);
}
コード例 #2
0
void TIntegrationEvent_Now::Test()
/* --------------------------
     * Author  : Diego Segura
 * Created : 06/2002
 * Purpose :
 * History :
 * -------------------------- */
{
// Construction test
    TIntegrationEvent_Now evt("test event", "evt", 1.5, 1, 5, IEC_FORCEDPEAKS);

    assert( strcmp(evt.Name(), "test event") == 0 );
    assert( strcmp(evt.ShortName(), "evt") == 0 );
    assert( evt.Time() == 1.5 );
    assert( evt.Code() == 1 );
    assert( evt.Priority() == 5 );
    assert( evt.Category() == IEC_FORCEDPEAKS );

// Copy construction test
    TIntegrationEvent_Now evt2(evt);

    assert( strcmp(evt2.Name(), evt.Name()) == 0 );
    assert( strcmp(evt2.ShortName(), evt.ShortName()) == 0 );
    assert( evt2.Time() == evt.Time() );
    assert( evt2.Code() == evt.Code() );
    assert( evt2.Priority() == evt.Priority() );
    assert( evt2.Category() == evt.Category() );

// CloneSelf test
    TIntegrationEvent *evt3 = evt2.CloneSelf();

    assert( strcmp(evt3->Name(), evt2.Name()) == 0 );
    assert( strcmp(evt3->ShortName(), evt2.ShortName()) == 0 );
    assert( evt3->Time() == evt2.Time() );
    assert( evt3->Code() == evt2.Code() );
    assert( evt3->Priority() == evt2.Priority() );
    assert( evt3->Category() == evt2.Category() );

    delete evt3;

// Affectation
    evt.Name("other name");
    evt.ShortName("oth");
    evt.Time(5.0);
    evt.Code(3);
    evt.Category(IEC_SKIMMING);

    evt2 = evt;
    assert( strcmp(evt2.Name(), evt.Name()) == 0 );
    assert( strcmp(evt2.ShortName(), evt.ShortName()) == 0 );
    assert( evt2.Time() == evt.Time() );
    assert( evt2.Code() == evt.Code() );
    assert( evt2.Priority() == evt.Priority() );
    assert( evt2.Category() == evt.Category() );

    cout << "TIntegrationEvent_Now class works fine !" << endl;
}
コード例 #3
0
ファイル: SListCtrl2.cpp プロジェクト: hunanhd/cbm
void SListCtrl2::OnLButtonDblClick(UINT nFlags, SOUI::CPoint pt)
{
	__super::OnLButtonDown(nFlags,pt);
	m_nHoverItem = HitTest(pt);
	//BOOL hitCheckBox = HitCheckBox(pt);

	EventLCDblClick evt2(this);
	evt2.nCurSel = m_nHoverItem;
	FireEvent(evt2);
}
コード例 #4
0
ファイル: evtconnection.cpp プロジェクト: AaronDP/wxWidgets
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 );
}
コード例 #5
0
ファイル: test_schema3.cpp プロジェクト: mmcilroy/pickle_lua
    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;
        } );
    }
コード例 #6
0
ファイル: STabCtrl.cpp プロジェクト: kenchen1101/soui
BOOL STabCtrl::SetCurSel( int nIndex )
{
    if( nIndex < 0 || nIndex> (int)GetItemCount()-1 || (m_nCurrentPage == nIndex)) return FALSE;
    int nOldPage = m_nCurrentPage;
    
    EventTabSelChanging evt(this);
    evt.uOldSel=nOldPage;
    evt.uNewSel=nIndex;

    FireEvent(evt);

    if (evt.bCancel)
        return FALSE;

    STabPage *pTab=GetItem(nIndex);

    CRect rcItem;

    GetItemRect(m_nCurrentPage, rcItem);
    InvalidateRect(rcItem);
    GetItemRect(nIndex, rcItem);
    InvalidateRect(rcItem);
    
    if(m_tabSlider)
    {
        m_tabSlider->Stop();
    }
    if(m_nAnimateSteps && IsVisible(TRUE) && nOldPage!=-1 && nIndex !=-1)
    {
        m_tabSlider = new STabSlider(this,nOldPage,nIndex,m_nAnimateSteps);
    }else
    {
        if(nOldPage!=-1)
        {
            GetItem(nOldPage)->SetVisible(FALSE,TRUE);
        }
        if(nIndex!=-1)
        {
            GetItem(nIndex)->SetVisible(TRUE,TRUE);
        }
    }
    m_nCurrentPage = nIndex;
        
    EventTabSelChanged evt2(this);
    evt2.uNewSel=nIndex;
    evt2.uOldSel=nOldPage;

    FireEvent(evt2);
    return TRUE;
}
コード例 #7
0
ファイル: ReopenEditor.cpp プロジェクト: stahta01/EmBlocks
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);
    }

}
コード例 #8
0
void WxGuiTestEventSimulationHelper::SetSliderValue (wxSlider *slider,
        unsigned int value)
{
    // 1. GUI control state:
    slider->SetValue (value);
    // 2. Events:
    wxCommandEvent evt2 (wxEVT_COMMAND_SLIDER_UPDATED, slider->GetId ());
    evt2.SetEventObject (slider);
    evt2.SetInt (value);
    ::wxPostEvent (slider->GetEventHandler (), evt2);

    wxCommandEvent evt (wxEVT_SCROLL_THUMBRELEASE, slider->GetId ());
    evt.SetEventObject (slider);
    evt.SetInt (value);
    ::wxPostEvent (slider->GetEventHandler (), evt);
}
コード例 #9
0
ファイル: SListbox.cpp プロジェクト: FuckGOV/soui
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);
}
コード例 #10
0
ファイル: ReopenEditor.cpp プロジェクト: jenslody/codeblocks
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);
    }

}
コード例 #11
0
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;
}
コード例 #12
0
ファイル: SItemPanel.cpp プロジェクト: showna/soui
BOOL SItemPanel::OnFireEvent(EventArgs &evt)
{
    EventOfPanel evt2(m_pFrmHost,this,&evt);
    return m_pFrmHost->FireEvent(evt2);
}
コード例 #13
0
	//------------------------------------------------------------------
	LRESULT WinOISInputSupport::windowProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
	{
		// The user has dropped files on the window
		switch(uMsg)
		{
			case WM_DROPFILES:
			{
				HDROP hDrop = (HDROP)wParam;
				WCHAR szFile[MAX_PATH] = { 0 };
				UINT fcount = DragQueryFileW(hDrop, 0xFFFFFFFF, NULL, 0);

				for(UINT i = 0; i < fcount; i++) 
				{
					DragQueryFileW(hDrop, i, szFile, MAX_PATH);

					String filename;
					if(sizeof(String::value_type) == sizeof(WCHAR))
					{
						filename.assign( (const String::value_type*) szFile);
					}
					else
					{
						CodepageConverter::ByteBuffer buf( (const uint8*) szFile, wcslen(szFile) * sizeof(WCHAR) );
						mUtf16Converter->bufferToUnicode(filename, buf);
					}

					InputSystem::getSingleton()._injectFileDrop( filename );
				}

				::DragFinish(hDrop);
				return 0; // the message was processed
			}
		
			// Hide WIN32 cursor when the cursor pos is within the window
			case WM_SETCURSOR:
			{
				int hitTest = LOWORD(lParam);
				if(hitTest == HTCLIENT)
				{
					hideWinCursor();
					return TRUE; // to halt further processing 
				}
				break;
			}

			case WM_MOUSELEAVE:
			{
				notifyMouseTrackingDisabled();
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ);
				InputSystem::getSingleton()._injectMouseLeave(evt2);
				break;
			}

			case WM_NCMOUSEMOVE:
			{
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ);
				InputSystem::getSingleton()._injectMouseLeave(evt2);
				break;
			}

			case WM_MOUSEMOVE:
			{
				enableMouseTracking(); // we need to determine when the cursor moves outside the window
				int newAbsX = GET_X_LPARAM(lParam);
				int newAbsY = GET_Y_LPARAM(lParam);
				if(mMouseAbsX != newAbsX || mMouseAbsY != newAbsY)
				{
					mMouseAbsX = GET_X_LPARAM(lParam);
					mMouseAbsY = GET_Y_LPARAM(lParam);
					MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ);
					InputSystem::getSingleton()._injectMouseMove(evt2);
				}
				break;
			}

			case WM_MOUSEWHEEL:
			{
				mMouseAbsZ += GET_WHEEL_DELTA_WPARAM(wParam);
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ);
				InputSystem::getSingleton()._injectMouseMove(evt2);
				break;
			}

			case WM_LBUTTONDOWN:
			case WM_LBUTTONDBLCLK: // Double-clicking the left mouse button actually generates a sequence of four messages: WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK, and WM_LBUTTONUP (MSDN).
			{
				mMousePressed[0] = true;
				mMouseAbsX = GET_X_LPARAM(lParam);
				mMouseAbsY = GET_Y_LPARAM(lParam);
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ, MouseButton::LEFT);
				InputSystem::getSingleton()._injectMousePress(evt2);
				break;
			}
			case WM_LBUTTONUP:
			{
				mMousePressed[0] = false;
				mMouseAbsX = GET_X_LPARAM(lParam);
				mMouseAbsY = GET_Y_LPARAM(lParam);
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ, MouseButton::LEFT);
				InputSystem::getSingleton()._injectMouseRelease(evt2);
				break;
			}

			case WM_RBUTTONDOWN:
			{
				mMousePressed[1] = true;
				mMouseAbsX = GET_X_LPARAM(lParam);
				mMouseAbsY = GET_Y_LPARAM(lParam);
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ, MouseButton::RIGHT);
				InputSystem::getSingleton()._injectMousePress(evt2);
				break;
			}
			case WM_RBUTTONUP:
			{
				mMousePressed[1] = false;
				mMouseAbsX = GET_X_LPARAM(lParam);
				mMouseAbsY = GET_Y_LPARAM(lParam);
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ, MouseButton::RIGHT);
				InputSystem::getSingleton()._injectMouseRelease(evt2);
				break;
			}

			case WM_MBUTTONDOWN:
			{
				mMousePressed[2] = true;
				mMouseAbsX = GET_X_LPARAM(lParam);
				mMouseAbsY = GET_Y_LPARAM(lParam);
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ, MouseButton::MIDDLE);
				InputSystem::getSingleton()._injectMousePress(evt2);
				break;
			}
			case WM_MBUTTONUP:
			{
				mMousePressed[2] = false;
				mMouseAbsX = GET_X_LPARAM(lParam);
				mMouseAbsY = GET_Y_LPARAM(lParam);
				MouseEvent evt2(mMouseAbsX, mMouseAbsY, mMouseAbsZ, MouseButton::MIDDLE);
				InputSystem::getSingleton()._injectMouseRelease(evt2);
				break;
			}
		}
	
		// call Ogre's window procedure
		return CallWindowProc((WNDPROC)mOldWindowProc, mHwnd, uMsg, wParam, lParam);
	}