當前位置: 首頁>>代碼示例>>C++>>正文


C++ AddPendingEvent函數代碼示例

本文整理匯總了C++中AddPendingEvent函數的典型用法代碼示例。如果您正苦於以下問題:C++ AddPendingEvent函數的具體用法?C++ AddPendingEvent怎麽用?C++ AddPendingEvent使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了AddPendingEvent函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。

示例1: GetDataForItem

void ProjectExplorerWindow::OnTreeItemContextMenu(wxTreeEvent& event)
{

    m_tree->SelectItem(event.GetItem(), true);

    if (m_contextMenu != NULL)
    {

        ItemData* itemData = GetDataForItem(event.GetItem());

        // If this is a file, display the context menu.
        if (itemData != NULL && itemData->file != NULL && itemData->symbol == NULL)
        {
            wxTreeEvent copy(event);
            copy.SetInt(0);
            copy.SetEventType(wxEVT_TREE_CONTEXT_MENU);
            AddPendingEvent(copy);
        }
        //Is a basic directory
        else if (itemData == NULL)
        {
          wxTreeEvent copy(event);
          copy.SetInt(1);
          copy.SetEventType(wxEVT_TREE_CONTEXT_MENU);
          AddPendingEvent(copy);
        }

    }

}
開發者ID:Halfbrick,項目名稱:decoda,代碼行數:30,代碼來源:ProjectExplorerWindow.cpp

示例2: ev

void wxCheckedListCtrl::OnActivateEvent(wxListEvent& event)
{
    long item = event.GetItem().GetId();
    if (item == wxNOT_FOUND || !IsEnabled(item))
    {
        // skip this item
        event.Skip();
        return;
    }

    wxListEvent ev(wxEVT_NULL, GetId());
    ev.m_itemIndex = item;

    // send the check event
    if (IsChecked(item))
    {
        ev.SetEventType(wxEVT_COMMAND_LIST_ITEM_UNCHECKED);
        Check(item, FALSE);
        AddPendingEvent(ev);
    } else {
        ev.SetEventType(wxEVT_COMMAND_LIST_ITEM_CHECKED);
        Check(item, TRUE);
        AddPendingEvent(ev);
    }
    event.Skip();
}
開發者ID:KastB,項目名稱:OpenCPN,代碼行數:26,代碼來源:checkedlistctrl.cpp

示例3: GetCellEditor

void nwxGrid::OnEditorEnd(wxGridEvent &e)
{
  if(m_nEditorOn)
  {
    m_nEditorOn--;

    int nRow = e.GetRow();
    int nCol = e.GetCol();
    // memory leak on following line
    wxGridCellEditor *pEdit = GetCellEditor(nRow, nCol);
    wxControl *pControl = (pEdit == NULL) ? NULL : pEdit->GetControl();
    wxTextCtrl *pText = 
      (pControl == NULL)
      ? NULL
      : wxDynamicCast(pControl,wxTextCtrl);
    if(pText != NULL)
    {
      wxString s;
      s = pText->GetValue();
      if(s == m_sEditorStartValue || s != m_sValue)
      {
        // value hasn't changed but we still want to force a 
        // CELL_CHANGED event
        wxGridEvent ee(e);
        ee.SetEventType(wxEVT_GRID_CELL_CHANGED);
        AddPendingEvent(ee);
      }
      if(pEdit != NULL)
      {
        pEdit->DecRef();
      }
    }
  }
  e.Skip();
}
開發者ID:HelloWilliam,項目名稱:osiris,代碼行數:35,代碼來源:nwxGrid.cpp

示例4: wxCHECK_MSG

bool wxLuaDebuggerCServer::StartServer()
{
    wxCHECK_MSG(m_serverSocket == NULL, false, wxT("Debugger server socket already created"));

    m_shutdown = false;
    m_serverSocket = new wxLuaCSocket();
    m_serverSocket->m_name = wxString::Format(wxT("wxLuaDebuggerCServer::m_serverSocket (%ld)"), (long)wxGetProcessId());

    if (m_serverSocket->Listen(m_port_number))
    {
        wxCHECK_MSG(m_pThread == NULL, false, wxT("Debugger server thread already created"));

        if (!m_shutdown)
        {
            m_pThread = new wxLuaDebuggerCServer::LuaThread(this);

            return ((m_pThread != NULL) &&
                    (m_pThread->Create() == wxTHREAD_NO_ERROR) &&
                    (m_pThread->Run()    == wxTHREAD_NO_ERROR));
        }
    }
    else
    {
        wxLuaDebuggerEvent debugEvent(wxEVT_WXLUA_DEBUGGER_ERROR, this);
        debugEvent.SetMessage(m_serverSocket->GetErrorMsg(true));
        AddPendingEvent(debugEvent);

        delete m_serverSocket;
        m_serverSocket = NULL;
        m_shutdown = true;
    }

    return false;
}
開發者ID:oeuftete,項目名稱:wx-xword,代碼行數:34,代碼來源:wxldserv.cpp

示例5: raiseMovementEvent

void
raiseMovementEvent(
  wxWindow &Control,
  std::shared_ptr<StateAccessToken> &Access,
  std::function<seec::cm::MovementResult (seec::cm::ProcessState &State)> Mover)
{
  auto const Handler = Control.GetEventHandler();
  if (!Handler) {
    wxLogDebug("raiseMovementEvent: wxWindow does not have an event handler.");
    return;
  }
  
  if (!Access) {
    wxLogDebug("raiseMovementEvent: no access provided.");
    return;
  }
  
  auto LockAccess = Access->getAccess();
  if (!LockAccess) { // Token is out of date.
    wxLogDebug("raiseMovementEvent: access token is outdated.");
    return;
  }
  
  ProcessMoveEvent Ev {
    SEEC_EV_PROCESS_MOVE,
    Control.GetId(),
    std::move(Mover)
  };
  
  Ev.SetEventObject(&Control);
  
  LockAccess.release();
  
  Handler->AddPendingEvent(Ev);
}
開發者ID:mheinsen,項目名稱:seec,代碼行數:35,代碼來源:ProcessMoveEvent.cpp

示例6: HitTest

void CMuleNotebook::OnMouseButtonRelease(wxMouseEvent &event)
{
	if (GetImageList() == NULL) {
		// This Mulenotebook has no images on tabs, so nothing to do.
		event.Skip();
		return;
	}

	long xpos, ypos;
	event.GetPosition(&xpos, &ypos);

	long flags = 0;
	int tab = HitTest(wxPoint(xpos,ypos),&flags);

	if ((tab != -1) &&  (((flags == wxNB_HITTEST_ONICON) && event.LeftUp()) ||
			((flags == wxNB_HITTEST_ONLABEL) && event.MiddleUp()))) {
		// User did click on a 'x' or middle click on the label
#if MULE_NEEDS_DELETEPAGE_WORKAROUND
		/*	WORKAROUND: Instead of calling DeletePage, we need to wait for the
		 *	mouse release signal to reach Gtk. Inconsistent with normal wxEvent
		 *	behaviour the button release handler in wxWidgets don't evaluate
		 *	the result of the signal handling. */
		wxNotebookEvent evt( wxEVT_COMMAND_MULENOTEBOOK_DELETE_PAGE, GetId(), tab );
		evt.SetEventObject(this);
		AddPendingEvent( evt );
#else
		DeletePage(tab);
#endif // MULE_NEEDS_DELETEPAGE_WORKAROUND
	} else {
		// Is not a 'x'. Send this event up.
		event.Skip();
	}
}
開發者ID:amule-project,項目名稱:amule,代碼行數:33,代碼來源:MuleNotebook.cpp

示例7: p

void tcOOBView::OnLButtonDown(wxMouseEvent& event) 
{
    wxPoint point = event.GetPosition();

    wxRealPoint p(double(point.x), double(point.y));

    if (CategoryShowHideClick(p))
    {
        return;
    }

    if (tsOOBInfo* info = 
        ButtonContainingPoint(p))
    {
        long new_key = info->mnID;
        if (new_key != mnSelectedKey)
        {
            wxCommandEvent command(wxEVT_COMMAND_BUTTON_CLICKED, ID_NEWHOOK) ;    
            command.SetEventObject(this);
            command.SetExtraLong(new_key);
            AddPendingEvent(command);
        }
        mnSelectedKey = new_key;

        tcSound::Get()->PlayEffect("ShortBeep");

        mbMouseDrag = true;
        msFormationChangeInfo.mnFollowerKey = info->mnID;
    }
}
開發者ID:WarfareCode,項目名稱:gcblue,代碼行數:30,代碼來源:tcOOBView.cpp

示例8: ButtonContainingPoint

void tcOOBView::OnLButtonDClick(wxMouseEvent& event)
{
    wxPoint point = event.GetPosition();

    if (tsOOBInfo* info = 
        ButtonContainingPoint(wxRealPoint((float)point.x,(float)point.y)))
    {
        long new_key = info->mnID;
        if (new_key != -1)
        {
            long flags = 0;
            if (event.ShiftDown()) flags += 1;
            if (event.ControlDown()) flags += 2;
            if (event.AltDown()) flags += 4;

            wxCommandEvent command(wxEVT_COMMAND_BUTTON_CLICKED, ID_DCLICKHOOK) ;    
            command.SetEventObject(this);
            command.SetExtraLong(flags);
            AddPendingEvent(command);
        }
        mnSelectedKey = new_key;

        tcSound::Get()->PlayEffect("ShortBeep");
    }
}
開發者ID:WarfareCode,項目名稱:gcblue,代碼行數:25,代碼來源:tcOOBView.cpp

示例9: event

void EventNotifier::PostReloadExternallyModifiedEvent(bool prompt)
{
    if(_eventsDiabled)
        return;
    wxCommandEvent event( prompt ? wxEVT_CMD_RELOAD_EXTERNALLY_MODIFIED : wxEVT_CMD_RELOAD_EXTERNALLY_MODIFIED_NOPROMPT );
    AddPendingEvent( event );
}
開發者ID:05storm26,項目名稱:codelite,代碼行數:7,代碼來源:event_notifier.cpp

示例10: fprintf

void ClangPlugin::OnClangReparseFinished( wxEvent& event )
{
//#ifdef CLANGPLUGIN_TRACE_FUNCTIONS
    fprintf(stdout,"%s\n", __PRETTY_FUNCTION__);
//#endif
    ClangProxy::ReparseJob* pJob = static_cast<ClangProxy::ReparseJob*>(event.GetEventObject());
    if ( HasEventSink(clEVT_DIAGNOSTICS_UPDATED ) )
    {
        ClangProxy::GetDiagnosticsJob job( cbEVT_CLANG_ASYNCTASK_FINISHED, idClangGetDiagnostics, pJob->GetTranslationUnitId(), pJob->GetFilename() );
        m_Proxy.AppendPendingJob(job);
    }
    ClangEvent evt( clEVT_REPARSE_FINISHED, pJob->GetTranslationUnitId(), pJob->GetFilename());
    ProcessEvent(evt);
#if 0
    if (pJob->m_TranslId != this->m_TranslUnitId)
    {
        std::cout<<" Reparse finished but another file was loaded"<<std::endl;
        return;
    }
    if (m_ReparseNeeded)
    {
        fprintf(stdout,"%s: Reparsing again, was modified while we were busy...\n", __PRETTY_FUNCTION__);
        wxCommandEvent evt(cbEVT_COMMAND_REPARSE, idReparse);
        AddPendingEvent(evt);
    }
    else
    {
        //m_DiagnosticTimer.Stop();
        //m_DiagnosticTimer.Start(DIAGNOSTIC_DELAY, wxTIMER_ONE_SHOT);
    }
#endif
}
開發者ID:progmboy,項目名稱:ClangLib,代碼行數:32,代碼來源:clangplugin.cpp

示例11: event

/////////////////////
// Ask to stop later
void AudioPlayer::RequestStop() {
	wxCommandEvent event(wxEVT_STOP_AUDIO, 1000);
    event.SetEventObject(this);
	wxMutexGuiEnter();
	AddPendingEvent(event);
	wxMutexGuiLeave();
}
開發者ID:BackupTheBerlios,項目名稱:aegisub-svn,代碼行數:9,代碼來源:audio_player.cpp

示例12: event

void EventNotifier::PostFileSavedEvent(const wxString& filename)
{
    clCommandEvent event( wxEVT_FILE_SAVED );
    event.SetString( filename );
    event.SetFileName( filename );
    AddPendingEvent( event );
}
開發者ID:AndrianDTR,項目名稱:codelite,代碼行數:7,代碼來源:event_notifier.cpp

示例13: GetId

void NetPlayDialog::StopGame()
{
  wxCommandEvent stop_event{ DOLPHIN_EVT_STOP_SOFTWARE, GetId() };
  stop_event.SetEventObject(this);

  AddPendingEvent(stop_event);
}
開發者ID:Tinob,項目名稱:Ishiiruka,代碼行數:7,代碼來源:NetWindow.cpp

示例14: event

void CamArtProvider::ArtLoad(BOOL newbitmaps, BOOL defer)
{
	// If we already have an event pending, don't generate a new one
	if (m_GetBitmapEventPending && !newbitmaps) return;

	if (newbitmaps && m_pMissingImage && m_pHash && !m_pHash->empty())
	{
		ResIDWithFlagsToBitmapPtr::iterator current;

		for( current = m_pHash->begin(); current != m_pHash->end(); ++current )
		{
			// we don't need to worry about memory management as deleting the
			// bitmaps are CamResource::'s responsibility
			if (current->second.m_pImage == m_pMissingImage)
				m_pMissingImage = NULL; // mark as required to be loaded on the event
		}
	}

	// Send ourselves a deferred event
	m_GetBitmapEventPending = TRUE;
	wxCamArtProviderEvent event (wxEVT_CAMARTPROVIDER_GETBITMAP, 0, defer);
	if (defer)
		AddPendingEvent(event);
	else
		ProcessEvent(event);	
}
開發者ID:Amadiro,項目名稱:xara-cairo,代碼行數:26,代碼來源:cartprov.cpp

示例15: AddPendingEvent

void wxZEditNode::AskRefresh()
{
    wxSizeEvent event;
    event.SetEventObject(this);
    event.SetEventType(14000);
    AddPendingEvent(event);
}
開發者ID:pulkomandy,項目名稱:.theRush-,代碼行數:7,代碼來源:wxEditNode.cpp


注:本文中的AddPendingEvent函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。