bool FriendLayer::init()
{
    if ( !Layer::init() )
    {
        return false;
        
    }
    
    auto friendLayer=CSLoader::createNode("FriendLayer.csb");
    this->addChild(friendLayer);
    
    Button * closeButton = static_cast<Button*>(friendLayer->getChildByName("CloseButton"));
    
    Button * okButton = static_cast<Button*>(friendLayer->getChildByName("Button_OK"));
    
     fname = static_cast<TextField*>(friendLayer->getChildByName("TextField_Fname"));
    fshow = static_cast<Text*>(friendLayer->getChildByName("Text_show"));
    
    closeButton->addTouchEventListener(this, toucheventselector(FriendLayer::closeEvent));
    okButton->addTouchEventListener(this, toucheventselector(FriendLayer::okEvent));
    
    EventDispatcher* eventDispatcher = Director::getInstance()->getEventDispatcher();
    
    EventListenerTouchOneByOne* listener= EventListenerTouchOneByOne::create();
    listener->setSwallowTouches(true);
    
    listener->onTouchBegan = [](Touch* touch, Event* event){return true;};
    listener->onTouchMoved = [](Touch* touch, Event* event){};
    listener->onTouchEnded = [](Touch* touch, Event* event){};
    listener->onTouchCancelled = [](Touch* touch , Event* event){};
    eventDispatcher->addEventListenerWithSceneGraphPriority(listener, friendLayer);   //代码为了设置模态窗口

    return true;
}
Example #2
0
void MouseController::shiftOver(View * n)
{
    RefPtr<View> target;
    target.reset(n);
    if (over_ != target)
    {
        EventDispatcher dispatcher;
        EventDispatcher::Path old_path;
        EventDispatcher::GetPath(over_.get(), old_path);
        EventDispatcher::Path new_path;
        EventDispatcher::GetPath(n, new_path);
        if (over_)
        {
            Point empty;
            MouseEvent me(kET_MOUSE_LEAVE, kMB_NONE, over_.get(), empty, empty, 0);
            dispatcher.run(me, old_path);
        }
        over_ = target;
        root_->setCursor(::LoadImage(NULL, IDC_ARROW, IMAGE_CURSOR, 0, 0, LR_SHARED));
        if (over_)
        {
            Point empty;
            MouseEvent me(kET_MOUSE_ENTER, kMB_NONE, over_.get(), empty, empty, 0);
            dispatcher.run(me, new_path);
        }
    }
}
Example #3
0
void ActorHelper::fullLevelUp(unsigned int unitID)
{
    int product_id = 0;

    s_levelUpUnitID = unitID;
    if (unitID >= ID_Actor_Start && unitID <= ID_Actor_End) {
        //SdkManager::getInstance()->pay(ProductID_RoleFullLevel);
        product_id = ProductID_RoleFullLevel;
    }
    else if (unitID >= ID_Magic_Start && unitID <= ID_Magic_End) {
        //SdkManager::getInstance()->pay(ProductID_MagicFullLevel);
        product_id = ProductID_MagicFullLevel;
    }
    else {
        CCASSERT(false, "error!");
    }

    //test win32
#if DEBUG_ALWAYS_BUY_SUCCESS == 1
    EventDispatcher * eventDspc = Director::getInstance()->getEventDispatcher();
    EventCustom event(MSG_PayResult);
    MsgData data;
    data.value = product_id;
    data.errorCode = Rsp_Success;
    event.setUserData(&data);
    eventDspc->dispatchEvent(&event);
#endif
}
Example #4
0
void GameLayer::registerEventHandlers() {
    Director* director = Director::getInstance();
    EventDispatcher* eventDispatcher = director->getEventDispatcher();
    
    EventListenerTouchOneByOne* eventListener = EventListenerTouchOneByOne::create();
    eventListener->setSwallowTouches(true);
    
    eventListener->onTouchEnded = [=](Touch* touch, Event* event){
        if (!getAcceptInput()) {
            return;
        }
        
        Vec2 position = m_tileLayer->convertTouchToNodeSpace(touch);
        for (auto iterator = m_tileLayer->getChildren().begin(); iterator != m_tileLayer->getChildren().end(); iterator++) {
            auto child = *iterator;
            GameTileView* gameTileView = dynamic_cast<GameTileView*>(child);
            if(gameTileView->getBoundingBox().containsPoint(position)) {
                if (gameTileView->getGameTile()->getCanMove()) {
                    doSelectGameTileView(gameTileView);
                }
                break;
            }
            
        }
    };
    
    eventListener->onTouchBegan = [](Touch* touch, Event* event){
        return true;
    };
    eventListener->onTouchMoved = [](Touch* touch, Event* event){};
    eventListener->onTouchCancelled = [](Touch* touch, Event* event){};
    eventDispatcher->addEventListenerWithSceneGraphPriority(eventListener, m_tileLayer);
}
Example #5
0
int main()
{
  EventDispatcher dispatcher;

  int my_var = 0;

  dispatcher.addHandler("event1", [&my_var](EventDispatcher& ev) -> bool {
    cout << "My event1 has been launched (first handler)" << endl;
    my_var++;
    return true;
  });

  dispatcher.addHandler("event1", [&my_var](EventDispatcher& ev) -> bool {
    cout << "My event1 has been launched (second handler)" << endl;
    my_var++;
    cout << "Trigger event2..." << endl;
    ev.dispatchEvent("event2");
    return false;
  });

  dispatcher.addHandler("event2", [&my_var](EventDispatcher& ev) -> bool {
    cout << "My event2 has been launched!" << endl;
    my_var++;
    return true;
  });

  cout << "Triggering event..." << endl;

  dispatcher.dispatchEvent("event1");

  cout << "My var is: " << my_var << endl;

  return 0;
}
int EventDispatcherBinder::hasEventListener(lua_State* L)
{
	StackChecker checker(L, "EventDispatcherBinder::hasEventListener", 1);

	Binder binder(L);
	EventDispatcher* eventDispatcher = static_cast<EventDispatcher*>(binder.getInstance("EventDispatcher"));

	luaL_checktype(L, 2, LUA_TSTRING);

    if (eventDispatcher->data(&key_map) == NULL)
	{
		lua_pushboolean(L, 0);
	}
	else
	{
        EventBinderMap& map = *static_cast<EventBinderMap*>(eventDispatcher->data(&key_map));
		
		const char* event = lua_tostring(L, 2);
		int eventid = StringId::instance().id(event);
		
		const std::vector<CppLuaBridge*>& bridges = map[eventid]; 
		
		lua_pushboolean(L, bridges.empty() ? 0 : 1);
	}

	return 1;
}
Example #7
0
/// \brief Define the main() for the point entry
int main(int argc, char *argv[])
{
    int returnCode;
    QApplication ultracopierApplication(argc, argv);
    ultracopierApplication.setApplicationVersion(ULTRACOPIER_VERSION);
    ultracopierApplication.setQuitOnLastWindowClosed(false);
    qRegisterMetaType<PluginsAvailable>("PluginsAvailable");
    qRegisterMetaType<Ultracopier::DebugLevel>("Ultracopier::DebugLevel");
    qRegisterMetaType<Ultracopier::CopyMode>("Ultracopier::CopyMode");
    qRegisterMetaType<Ultracopier::ItemOfCopyList>("Ultracopier::ItemOfCopyList");
    #ifdef ULTRACOPIER_DEBUG
    DebugEngine::getInstance();
    #endif // ULTRACOPIER_DEBUG
    //the main code, event loop of Qt and event dispatcher of ultracopier
    {
        EventDispatcher backgroundRunningInstance;
        if(backgroundRunningInstance.shouldBeClosed())
            returnCode=0;
        else
            returnCode=ultracopierApplication.exec();
    }
    #ifdef ULTRACOPIER_DEBUG
    DebugEngine::destroyInstanceAtTheLastCall();
    #endif // ULTRACOPIER_DEBUG
    return returnCode;
}
Example #8
0
void Stage::OnChar(wxKeyEvent &inEvent) {
    if (!ShouldSendEvents()) {
        inEvent.Skip();
    } else if (inEvent.GetKeyCode() == WXK_ESCAPE) {
        // The menu accelerator for StageFrame::OnStopMovies doesn't appear
        // to work in wxWidgets 2.9 (and maybe also 2.8).  If the
        // accelerator doesn't work, we currently receive the escape key
        // event here.  (We tried calling inEvent.Skip and passing this up
        // to a handle on the StageFrame, but the event never arrived,
        // possibly because StageFrame is not configured to receive key
        // events.)
        EndMediaElements();
    } else if (inEvent.GetKeyCode() == WXK_SPACE &&
               inEvent.ControlDown() && !inEvent.AltDown()) {
        inEvent.Skip(); // Always allow toggling into edit mode.
    } else {
        // NOTE - We process character events directed at the Stage here,
        // but the Stage isn't always focused.  Is this really a good idea?
        // Douglas tells me that Director works like this, so at least
        // there's precedent.
        EventDispatcher *dispatcher = GetEventDispatcher();
        if (!dispatcher->DoEventChar(inEvent))
            inEvent.Skip();
    }
}
Example #9
0
int main()
{
    /*shared_ptr<Foobar> ptrShared(new Foobar);
	weak_ptr<Foobar> ptrWeak(ptrShared);
	cout<<"weak_ptr valid:"<<(!ptrWeak.expired() ? "true" : "false")<<endl;
	shared_ptr<Foobar> ptrShared1 = ptrWeak.lock();
	ptrShared = nullptr;
	cout<<"weak_ptr valid:"<<(!ptrWeak.expired() ? "true" : "false")<<endl;*/
	EventDispatcher *dispatcher = new EventDispatcher;
	//vector<EventConnectionHolder> eventConnHolderPool;
	//eventConnHolderPool.push_back(dispatcher->subscribeEvent());
	EventConnectionHolder connectionHolder;
	connectionHolder = dispatcher->subscribeEvent();
	EventSlot slot(std::move(connectionHolder));
	//dispatcher->subscribeEvent();
	//EventSlot slot = dispatcher->subscribeEvent();
	//EventConnectionHolder connectionHolder(dispatcher->subscribeEvent());
	/*for(auto &holder : eventConnHolderPool)
	{
		holder.disconnect();
	}*/
	//connectionHolder.disconnect();
	delete dispatcher;
	return 0;
}
Example #10
0
int EventDispatcherBinder::dispatchEvent(lua_State* L)
{
	StackChecker checker(L, "EventDispatcherBinder::dispatchEvent", 0);

	Binder binder(L);
	EventDispatcher* eventDispatcher = static_cast<EventDispatcher*>(binder.getInstance("EventDispatcher", 1));

	luaL_checktype(L, 2, LUA_TTABLE);
//	lua_getfield(L, 2, "type");
	lua_getfield(L, 2, "getType");
	lua_pushvalue(L, 2);
	lua_call(L, 1, 1);
	std::string event = luaL_checkstring(L, -1);
	lua_pop(L, 1);
	LuaEvent e = LuaEvent(LuaEvent::Type(event.c_str()));

    LuaApplication *application = (LuaApplication*)luaL_getdata(L);
    lua_State *mainL = application->getLuaState();

    lua_pushvalue(L, 2);    // push event to main thread
    if (mainL != L)
        lua_xmove(L, mainL, 1);

    eventDispatcher->dispatchEvent(&e);

    lua_pop(mainL, 1);      // pop event from main thread

	return 0;
}
Example #11
0
bool WorkerEventQueue::cancelEvent(Event& event)
{
    EventDispatcher* task = m_eventDispatcherMap.take(&event);
    if (!task)
        return false;
    task->cancel();
    return true;
}
Example #12
0
int EventDispatcherBinder::destruct(lua_State* L)
{
	void* ptr = *(void**)lua_touserdata(L, 1);
	EventDispatcher* eventDispatcher = static_cast<EventDispatcher*>(ptr);
	eventDispatcher->unref();

	return 0;
}
Example #13
0
void Widget::FocusNavigationController::removeKeyboardEventListener()
{
    if (nullptr != _keyboardListener)
    {
        EventDispatcher* dispatcher = Director::getInstance()->getEventDispatcher();
        dispatcher->removeEventListener(_keyboardListener);
        _keyboardListener = nullptr;
    }
}
/*static*/
status_t
EventDispatcher::_cursor_looper(void* _dispatcher)
{
	EventDispatcher* dispatcher = (EventDispatcher*)_dispatcher;

	ETRACE(("Start cursor loop\n"));
	dispatcher->_CursorLoop();
	return B_OK;
}
/*static*/
status_t
EventDispatcher::_event_looper(void* _dispatcher)
{
	EventDispatcher* dispatcher = (EventDispatcher*)_dispatcher;

	ETRACE(("Start event loop\n"));
	dispatcher->_EventLoop();
	return B_OK;
}
Example #16
0
void Widget::FocusNavigationController::addKeyboardEventListener()
{
    if (nullptr == _keyboardListener)
    {
        _keyboardListener = EventListenerKeyboard::create();
        _keyboardListener->onKeyReleased = CC_CALLBACK_2(Widget::FocusNavigationController::onKeypadKeyPressed, this);
        EventDispatcher* dispatcher = Director::getInstance()->getEventDispatcher();
        dispatcher->addEventListenerWithFixedPriority(_keyboardListener, _keyboardEventPriority);
    }
}
Example #17
0
TEST(EventDispatcher, Timer) {
    using namespace std::placeholders;
    EventDispatcher dispatcher;
    bool received = false;
    TimerEventWatcher watcher(&dispatcher, std::bind(OnTimer, &received, _1),
                              200);
    watcher.Start();
    dispatcher.Run();
    EXPECT_TRUE(received);
}
Example #18
0
TEST(EventDispatcher, Signal) {
    using namespace std::placeholders;
    EventDispatcher dispatcher;
    bool received = false;
    SignalEventWatcher watcher(&dispatcher, std::bind(OnSignal, &dispatcher,
                                                      &received, _1), SIGALRM);
    watcher.Start();
    alarm(1);
    dispatcher.Run();
    EXPECT_TRUE(received);
}
Example #19
0
bool PauseLayer::init()
{
    if (!AlertLayer::init())
    {
        return false;
    }
    
    auto board = this->getBoard();
    
    auto title = Sprite::createWithSpriteFrameName(s_pause_txt);
    title->setPosition(Vec2(board->getContentSize().width / 2, board->getContentSize().height));
    board->addChild(title);
    
    // 继续按钮
    auto resumeSprite = Sprite::createWithSpriteFrameName(s_resume_btn);
    auto resumeSpriteActive = Sprite::createWithSpriteFrameName(s_resume_btn_a);
    auto resumeItem = MenuItemSprite::create(resumeSprite, resumeSpriteActive,
                                            CC_CALLBACK_1(PauseLayer::resumeCallBack, this));
	resumeItem->setAnchorPoint(Vec2::ZERO);
    resumeItem->setScale(0.7f);
    resumeItem->setPosition(Vec2(40, 50));
    
    // 重开按钮
    auto restartSprite = Sprite::createWithSpriteFrameName(s_restart_btn);
    auto restartSpriteActive = Sprite::createWithSpriteFrameName(s_restart_btn_a);
    auto restartItem = MenuItemSprite::create(restartSprite, restartSpriteActive,
                                              CC_CALLBACK_1(PauseLayer::restartCallBack, this));
	restartItem->setAnchorPoint(Vec2::ZERO);
    restartItem->setScale(0.7f);
    restartItem->setPosition(Vec2(140, 50));
    
    // 回首页按钮
    auto goHomeSprite = Sprite::createWithSpriteFrameName(s_go_home_btn);
    auto goHomeSpriteActive= Sprite::createWithSpriteFrameName(s_go_home_btn_a);
    auto goHomeItem = MenuItemSprite::create(goHomeSprite, goHomeSpriteActive,
                                             CC_CALLBACK_1(PauseLayer::goHomeCallBack, this));
	goHomeItem->setAnchorPoint(Vec2::ZERO);
    goHomeItem->setScale(0.7f);
    goHomeItem->setPosition(Vec2(240, 50));
    
    auto menu = Menu::create(resumeItem, restartItem, goHomeItem, NULL);
    menu->setPosition(Vec2::ZERO);
    board->addChild(menu);
    
    EventDispatcher *eventDispatcher = Director::getInstance()->getEventDispatcher();
    auto listener = EventListenerTouchOneByOne::create();
    listener->setSwallowTouches(true);      // 是否吞掉事件让下面的层无法响应
    listener->onTouchBegan = CC_CALLBACK_2(PauseLayer::onTouchBegan, this);
    listener->onTouchMoved = CC_CALLBACK_2(PauseLayer::onTouchMoved, this);
    listener->onTouchEnded = CC_CALLBACK_2(PauseLayer::onTouchEnded, this);
    eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
    
    return true;
}
Example #20
0
ASFUNCTIONBODY(NativeApplication, addEventListener)
{
    EventDispatcher* th = Class<EventDispatcher>::cast(obj);
    EventDispatcher::addEventListener(obj, args, argslen);
    if (args[0]->toString() == "invoke")
    {
        th->incRef();
        getVm()->addEvent(_MR(th), _MR(Class<InvokeEvent>::getInstanceS()));
    }

    return NULL;
}
void ChatScene::setEventHadlers()
{
    EventDispatcher* pDispatcher = Director::getInstance()->getEventDispatcher();
    EventListenerTouchOneByOne* pEventListener = EventListenerTouchOneByOne::create();
    pEventListener->setSwallowTouches(true);
    
    pEventListener->onTouchBegan = CC_CALLBACK_2(ChatScene::onTouchBegan, this);
    pEventListener->onTouchMoved = CC_CALLBACK_2(ChatScene::onTouchMoved, this);
    pEventListener->onTouchEnded = CC_CALLBACK_2(ChatScene::onTouchEnded, this);
    
    pDispatcher->addEventListenerWithSceneGraphPriority(pEventListener, this);
}
bool EventDispatcher::DispatchEvent(Element* target_element, const String& name, const Dictionary& parameters, bool interruptible)
{
	//Event event(target_element, name, parameters, interruptible);
	Event* event = Factory::InstanceEvent(target_element, name, parameters, interruptible);
	if (event == NULL)
		return false;

	// Build the element traversal from the tree
	typedef std::vector<Element*> Elements;
	Elements elements;

	Element* walk_element = target_element->GetParentNode();
	while (walk_element) 
	{
		elements.push_back(walk_element);
		walk_element = walk_element->GetParentNode();
	}

	event->SetPhase(Event::PHASE_CAPTURE);
	// Capture phase - root, to target (only events that have registered as capture events)
	// Note: We walk elements in REVERSE as they're placed in the list from the elements parent to the root
	for (int i = elements.size() - 1; i >= 0 && event->IsPropagating(); i--) 
	{
		EventDispatcher* dispatcher = elements[i]->GetEventDispatcher();
		event->SetCurrentElement(elements[i]);
		dispatcher->TriggerEvents(event);
	}

	// Target phase - direct at the target
	if (event->IsPropagating()) 
	{
		event->SetPhase(Event::PHASE_TARGET);
		event->SetCurrentElement(target_element);
		TriggerEvents(event);
	}

	if (event->IsPropagating()) 
	{
		event->SetPhase(Event::PHASE_BUBBLE);
		// Bubble phase - target to root (normal event bindings)
		for (size_t i = 0; i < elements.size() && event->IsPropagating(); i++) 
		{
			EventDispatcher* dispatcher = elements[i]->GetEventDispatcher();
			event->SetCurrentElement(elements[i]);
			dispatcher->TriggerEvents(event);
		}
	}

	bool propagating = event->IsPropagating();
	event->RemoveReference();
	return propagating;
}
Example #23
0
void Stage::OnLeftDown(wxMouseEvent &inEvent) {
    // Restore focus to the stage (or our game engine, if it's on top).
    if (GameEngineIsDisplayed())
        GameEngineSetFocus();
    else
        SetFocus();

    // Dispatch the event.
    if (ShouldSendEvents()) {
        EventDispatcher *disp = FindEventDispatcher(inEvent.GetPosition());
        disp->DoEventLeftDown(inEvent, false);
    }
}
Example #24
0
TEST(EventDispatcher, Io) {
    using namespace std::placeholders;
    EventDispatcher dispatcher;
    char c = 0;
    int fd = open("/dev/zero", O_RDONLY, 0666);
    ASSERT_NE(-1, fd);
    IoEventWatcher watcher(&dispatcher, std::bind(OnIo, fd, &c, _1),
                           fd, EventMask_Read);
    watcher.Start();
    dispatcher.RunOnce();
    close(fd);
    EXPECT_EQ(0, c);
}
Example #25
0
void GameLayer::registerHandler(Node* node, std::function<void(Touch*, Event*)> onTouchEnded) {
    Director* director = Director::getInstance();
    EventDispatcher* eventDispatcher = director->getEventDispatcher();
    
    EventListenerTouchOneByOne* eventListener = EventListenerTouchOneByOne::create();
    eventListener->setSwallowTouches(true);
    eventListener->onTouchEnded = onTouchEnded;
    eventListener->onTouchBegan = [](Touch* touch, Event* event){
        return true;
    };
    
    eventDispatcher->addEventListenerWithSceneGraphPriority(eventListener, node);
}
Example #26
0
//-------------------------------------------------------------------------------------
void EventDispatcher::attachTo(EventDispatcher & parentDispatcher)
{
	KBE_ASSERT(pCouplingToParent_ == NULL);
	pCouplingToParent_ = new DispatcherCoupling(parentDispatcher, *this);

	int fd = pPoller_->getFileDescriptor();

	if (fd != -1)
	{
		parentDispatcher.registerFileDescriptor(fd, pPoller_);
		parentDispatcher.registerWriteFileDescriptor(fd, pPoller_);
	}
}
Example #27
0
bool SceneGame::init()
{
  
	if (!Layer::init())
	{
		return false;
	}

	Size visibleSize = Director::getInstance()->getVisibleSize();
	Vec2 origin = Director::getInstance()->getVisibleOrigin();

	_c = new std::vector<Chess*>();
	_c->resize(1000);
	_steps = new std::vector<Step*>();
	_steps->reserve(1000);


	createPlate();

	Chess::_d = Director::getInstance()->getWinSize().height / 10;
	Chess::_offx = Chess::_d;
	Chess::_offy = Chess::_d / 2;

	for (int i = 0; i < 32; i++)
	{
		_c->at(i) = Chess::create();
		_c->at(i)->initChess(i);
		addChild(_c->at(i));
	}


	EventDispatcher *eventDispatcher = Director::getInstance()->getEventDispatcher();
	auto listener = EventListenerTouchOneByOne::create();
	listener->onTouchBegan = CC_CALLBACK_2(SceneGame::onTouchBegan, this);
	listener->onTouchEnded = CC_CALLBACK_2(SceneGame::onTouchEnd, this);
	eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);

	_selectid = 1;
	_selectSprite = Sprite::create("selected.png");
	_selectSprite->setVisible(false);
	addChild(_selectSprite);
	_selectSprite->setScale(0.6f);
	_selectSprite->setZOrder(100);

	_bRedTurn = true;

	_steps->clear();
	addCtrlPanel();

	return true;
}
Example #28
0
DispatchEventResult MouseEventDispatchMediator::dispatchEvent(
    EventDispatcher& dispatcher) const {
  MouseEvent& mouseEvent = event();
  mouseEvent.eventPath().adjustForRelatedTarget(dispatcher.node(),
                                                mouseEvent.relatedTarget());

  if (!mouseEvent.isTrusted())
    return dispatcher.dispatch();

  if (isDisabledFormControl(&dispatcher.node()))
    return DispatchEventResult::CanceledBeforeDispatch;

  if (mouseEvent.type().isEmpty())
    return DispatchEventResult::NotCanceled;  // Shouldn't happen.

  DCHECK(!mouseEvent.target() ||
         mouseEvent.target() != mouseEvent.relatedTarget());

  EventTarget* relatedTarget = mouseEvent.relatedTarget();

  DispatchEventResult dispatchResult = dispatcher.dispatch();

  if (mouseEvent.type() != EventTypeNames::click || mouseEvent.detail() != 2)
    return dispatchResult;

  // Special case: If it's a double click event, we also send the dblclick
  // event. This is not part of the DOM specs, but is used for compatibility
  // with the ondblclick="" attribute. This is treated as a separate event in
  // other DOM-compliant browsers like Firefox, and so we do the same.
  MouseEvent* doubleClickEvent = MouseEvent::create();
  doubleClickEvent->initMouseEventInternal(
      EventTypeNames::dblclick, mouseEvent.bubbles(), mouseEvent.cancelable(),
      mouseEvent.view(), mouseEvent.detail(), mouseEvent.screenX(),
      mouseEvent.screenY(), mouseEvent.clientX(), mouseEvent.clientY(),
      mouseEvent.modifiers(), mouseEvent.button(), relatedTarget,
      mouseEvent.sourceCapabilities(), mouseEvent.buttons());
  doubleClickEvent->setComposed(mouseEvent.composed());

  // Inherit the trusted status from the original event.
  doubleClickEvent->setTrusted(mouseEvent.isTrusted());
  if (mouseEvent.defaultHandled())
    doubleClickEvent->setDefaultHandled();
  DispatchEventResult doubleClickDispatchResult =
      EventDispatcher::dispatchEvent(
          dispatcher.node(),
          MouseEventDispatchMediator::create(doubleClickEvent));
  if (doubleClickDispatchResult != DispatchEventResult::NotCanceled)
    return doubleClickDispatchResult;
  return dispatchResult;
}
Example #29
0
//-------------------------------------------------------------------------------------
void EventDispatcher::detachFrom(EventDispatcher & parentDispatcher)
{
	int fd = pPoller_->getFileDescriptor();

	if (fd != -1)
	{
		parentDispatcher.deregisterFileDescriptor(fd);
		parentDispatcher.deregisterWriteFileDescriptor(fd);
	}

	KBE_ASSERT(pCouplingToParent_ != NULL);
	delete pCouplingToParent_;
	pCouplingToParent_ = NULL;
}
Example #30
0
void Rolelayer::spcall(Node* node,bool mr){

	Layer* p=(Layer*)this->getChildByTag(shop_layertag);
	p->setPosition(Vec2(Actual_x,0));
   
   EventDispatcher * eventDspc = Director::getInstance()->getEventDispatcher();
   EventCustom event(Topmsg_ch);
   MsgData data;
   data.value =2;
   event.setUserData(&data);
   eventDspc->dispatchEvent(&event);

   
}