• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ gcn::KeyEvent类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中gcn::KeyEvent的典型用法代码示例。如果您正苦于以下问题:C++ KeyEvent类的具体用法?C++ KeyEvent怎么用?C++ KeyEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了KeyEvent类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: keyPressed

void PlayControllerZone::keyPressed( gcn::KeyEvent& keyEvent )
{

  switch ( keyEvent.getKey().getValue() )
  {

    case gcn::Key::LEFT:
      view().Scroll( 1,
                     IMap::WEST );
      break;

    case gcn::Key::RIGHT:
      view().Scroll( 1,
                     IMap::EAST );
      break;

    case gcn::Key::UP:
      view().Scroll( 1,
                     IMap::NORTH );
      break;

    case gcn::Key::DOWN:
      view().Scroll( 1,
                     IMap::SOUTH );
      break;

    default:
      ;

  }
  keyEvent.consume();
}
开发者ID:jorgejcabrera,项目名称:gamemvc,代码行数:32,代码来源:playcontrollerzone.cpp


示例2: keyPressed

void TabbedArea::keyPressed(gcn::KeyEvent& keyEvent)
{
    if (keyEvent.isConsumed() || !isFocused())
        return;

    if (keyEvent.getKey().getValue() == Key::LEFT)
    {
        int index = getSelectedTabIndex();
        index--;

        if (index < 0)
            setSelectedTab(mTabs[mTabs.size() - 1].first);
        else
            setSelectedTab(mTabs[index].first);

        keyEvent.consume();
    }
    else if (keyEvent.getKey().getValue() == Key::RIGHT)
    {
        int index = getSelectedTabIndex();
        index++;

        if (index >= (int) mTabs.size())
            setSelectedTab(mTabs[0].first);
        else
            setSelectedTab(mTabs[index].first);

        keyEvent.consume();
    }
}
开发者ID:stevecotton,项目名称:Aethyra,代码行数:30,代码来源:tabbedarea.cpp


示例3: keyPressed

void TabbedArea::keyPressed(gcn::KeyEvent& keyEvent)
{
    if (keyEvent.isConsumed() || !isFocused())
        return;

    if (keyEvent.getKey().getValue() == Key::LEFT)
    {
        TabContainer::iterator index = getTabIterator(mSelectedTab);

        if (index != mTabs.begin())
            setSelectedTab((--index)->first);
        else
            setSelectedTab((--mTabs.end())->first);

        keyEvent.consume();
    }
    else if (keyEvent.getKey().getValue() == Key::RIGHT)
    {
        TabContainer::iterator index = getTabIterator(mSelectedTab);

        if (index != (--mTabs.end()))
            setSelectedTab((++index)->first);
        else
            setSelectedTab(mTabs.begin()->first);

        keyEvent.consume();
    }
}
开发者ID:Aethyra,项目名称:Client,代码行数:28,代码来源:tabbedarea.cpp


示例4: keyPressed

// -- KeyListener notifications
void ListBox::keyPressed(gcn::KeyEvent& keyEvent)
{
    gcn::Key key = keyEvent.getKey();

    if (key.getValue() == Key::ENTER || key.getValue() == Key::SPACE)
    {
        if (keyEvent.isShiftPressed())
        {
            const std::string actionEventId = getActionEventId();
            setActionEventId("default");
            distributeActionEvent();
            setActionEventId(actionEventId);
        }
        else
            distributeActionEvent();
    }
    else if (key.getValue() == Key::UP)
        decrementSelected();
    else if (key.getValue() == Key::DOWN)
        incrementSelected();
    else if (key.getValue() == Key::HOME)
        setSelected(0);
    else if (key.getValue() == Key::END)
        setSelected(getListModel()->getNumberOfElements() - 1);
    else
        return;

    keyEvent.consume();
}
开发者ID:Aethyra,项目名称:Client,代码行数:30,代码来源:listbox.cpp


示例5: keyPressed

void ChatInput::keyPressed(gcn::KeyEvent &event)
{
    TextField::keyPressed(event);

    if (event.getKey().getValue() == Key::DOWN && mCurHist != mHistory.end())
    {
        // Move forward through the history
        HistoryIterator prevHist = mCurHist++;

        if (mCurHist != mHistory.end())
        {
            setText(*mCurHist);
            setCaretPosition(getText().length());
        }
        else
            mCurHist = prevHist;
    }
    else if (event.getKey().getValue() == Key::UP && mCurHist !=
             mHistory.begin() && mHistory.size() > 0)
    {
        // Move backward through the history
        mCurHist--;
        setText(*mCurHist);
        setCaretPosition(getText().length());
    }
}
开发者ID:Tametomo,项目名称:Aethyra,代码行数:26,代码来源:chatinput.cpp


示例6: keyPressed

void Slider::keyPressed(gcn::KeyEvent &keyEvent)
{
    gcn::Key key = keyEvent.getKey();

    if (getOrientation() == HORIZONTAL)
    {
        if (key.getValue() == Key::RIGHT)
        {
            setValue(getValue() + getStepLength());
            distributeActionEvent();
            keyEvent.consume();
        }
        else if (key.getValue() == Key::LEFT)
        {
            setValue(getValue() - getStepLength());
            distributeActionEvent();
            keyEvent.consume();
        }            
    }
    else
    {
        if (key.getValue() == Key::UP)
        {
            setValue(getValue() + getStepLength());
            distributeActionEvent();
            keyEvent.consume();
        }
        else if (key.getValue() == Key::DOWN)
        {
            setValue(getValue() - getStepLength());
            distributeActionEvent();
            keyEvent.consume();
        }
    }
}
开发者ID:Aethyra,项目名称:Client,代码行数:35,代码来源:slider.cpp


示例7: keyPressed

void IntTextField::keyPressed(gcn::KeyEvent &event)
{
    int action = static_cast<KeyEvent*>(&event)->getActionId();

    if (action == Input::KEY_GUI_DELETE || action == Input::KEY_GUI_BACKSPACE)
    {
        setText(std::string());
        if (mSendAlwaysEvents)
            distributeActionEvent();

        event.consume();
    }

    if (!event.getKey().isNumber())
        return;

    TextField::keyPressed(event);

    std::istringstream s(getText());
    int i;
    s >> i;
    setValue(i);
    if (mSendAlwaysEvents)
        distributeActionEvent();
}
开发者ID:Evonline,项目名称:ManaPlus,代码行数:25,代码来源:inttextfield.cpp


示例8: keyReleased

void GlassWidget::keyReleased(gcn::KeyEvent &e) {
	if(me) {
		PyObject *res = PyObject_CallMethod(me, "_keyReleased", "(ii)", e.getType(), e.getKey().getValue());
		if(res == NULL && PyErr_Occurred() != NULL)
			Py_HandleError();
		else 
			Py_XDECREF(res);
	}
}
开发者ID:newerthcom,项目名称:savagerebirth,代码行数:9,代码来源:GlassWidget.cpp


示例9: keyPressed

void IntroController::keyPressed( gcn::KeyEvent& keyEvent )
{

  if ( keyEvent.getKey().getValue() == gcn::Key::ESCAPE ) {

    model().final(); //! Paramos el bucle asi?.......
    keyEvent.consume();

  }
开发者ID:jorgejcabrera,项目名称:gamemvc,代码行数:9,代码来源:introcontroller.cpp


示例10:

void DBSH07TextField::keyPressed(gcn::KeyEvent &keyEvent)
{
	if (keyEvent.getKey().getValue() != ',')
	{
		if (getText().size() < 10 || keyEvent.getKey().getValue() == gcn::Key::BACKSPACE || keyEvent.getKey().getValue() == gcn::Key::ENTER)
		{
			gcn::TextField::keyPressed(keyEvent);
		}
	}
}
开发者ID:olofn,项目名称:db_public,代码行数:10,代码来源:dbsh07textfield.cpp


示例11: keyPressed

void FileDialog::keyPressed(gcn::KeyEvent& ke)
{
    if(ke.getKey() == gcn::Key::ESCAPE)
    {
        Close();
    }
    else if(ke.getKey() == gcn::Key::ENTER)
    {
        _HandleSelection();
    }
}
开发者ID:IamusNavarathna,项目名称:lv3proj,代码行数:11,代码来源:FileDialog.cpp


示例12: keyPressed

void ChatBox::keyPressed(gcn::KeyEvent& keyEvent){
    //if( keyEvent.isConsumed() ){ return; }

    //if enter pressed
    if( keyEvent.getKey().getValue() == gcn::Key::ENTER ){
        // on the input field
        if ( keyEvent.getSource() == inputField ){
            // add the text from the text field into the chat area
            push_back( inputField->getText(), DO_CALLBACK|PUT_USERNAME );
            //clear off the text field
            inputField->setText("");
        }
    }
}
开发者ID:hoodwolf,项目名称:Infraelly,代码行数:14,代码来源:ChatBox.cpp


示例13: keyPressed

    void Menu::keyPressed(gcn::KeyEvent& keyEvent) {
        std::cout << "Menu::keyPressed" << std::endl;
        hikari::Input::Button button =
            InputHelper::getMappedButtonForKey(keyEvent.getKey());

        if(button == Input::BUTTON_UP) {
            selectPreviousItem();
            keyEvent.consume();
        } else if(button == Input::BUTTON_DOWN) {
            selectNextItem();
            keyEvent.consume();
        } else if(button == Input::BUTTON_START || button == Input::BUTTON_SHOOT) {
            distributeActionEvent();
        }
    }
开发者ID:jatemack,项目名称:hikari,代码行数:15,代码来源:Menu.cpp


示例14: keyPressed

void FFScrollArea::keyPressed(gcn::KeyEvent &keyEvent)
{
    if (keyEvent.isConsumed())
    {
        return;
    }
    
    if (keyEvent.getKey().getValue() == gcn::Key::Down)
    {
        setVerticalScrollAmount(getVerticalScrollAmount() + 16);
    }
    else if (keyEvent.getKey().getValue() == gcn::Key::Up)
    {
        setVerticalScrollAmount(getVerticalScrollAmount() - 16);
    }
}
开发者ID:sanyaade-g2g-repos,项目名称:guichan,代码行数:16,代码来源:ffscrollarea.cpp


示例15: keyPressed

 void keyPressed(gcn::KeyEvent& keyEvent)
 {
   bool bHandled = false;
   
   Uint8 *keystate;
   gcn::Key key = keyEvent.getKey();
   if (key.getValue() == gcn::Key::UP)
   {
   	keystate = SDL_GetKeyState(NULL);
     if(keystate[SDLK_RSHIFT])
     {
       int selected = listBox->getSelected() - 10;
       if(selected < 0)
         selected = 0;
       listBox->setSelected(selected);
       bHandled = true;
     }
   }     
   if (key.getValue() == gcn::Key::DOWN)
   {
   	keystate = SDL_GetKeyState(NULL);
     if(keystate[SDLK_RSHIFT])
     {
       int selected = listBox->getSelected() + 10;
       if(selected >= dirList.getNumberOfElements())
         selected = dirList.getNumberOfElements() - 1;
       listBox->setSelected(selected);
       bHandled = true;
     }
   }     
 
   if(!bHandled)
     listBox->keyPressed(keyEvent);
 }
开发者ID:lubomyr,项目名称:vice-2.4,代码行数:34,代码来源:menuLoad_guichan.cpp


示例16: keyPressed

 void MultiSelector::keyPressed(gcn::KeyEvent& keyEvent)
 {
     if (keyEvent.getKey().getValue() == gcn::Key::DOWN)
     {
         setSelected(getSelected() + 1);
     }
     else if (keyEvent.getKey().getValue() == gcn::Key::UP)
     {
         setSelected(getSelected() - 1);
     }
     else if (keyEvent.getKey().getValue() == gcn::Key::SPACE
         || keyEvent.getKey().getValue() == gcn::Key::LEFT_ALT
         || keyEvent.getKey().getValue() == gcn::Key::LEFT_CONTROL
         || keyEvent.getKey().getValue() == gcn::Key::ENTER)
     {
         generateAction();
     }
 }
开发者ID:olofn,项目名称:db_public,代码行数:18,代码来源:mutliselector.cpp


示例17: keyPressed

void CharSelectDialog::keyPressed(gcn::KeyEvent &keyEvent)
{
    gcn::Key key = keyEvent.getKey();

    if (key.getValue() == Key::ESCAPE)
    {
        action(gcn::ActionEvent(mSwitchLoginButton,
                                mSwitchLoginButton->getActionEventId()));
    }
}
开发者ID:B-Rich,项目名称:mana,代码行数:10,代码来源:charselectdialog.cpp


示例18: keyReleased

void InventoryWindow::keyReleased(gcn::KeyEvent &event)
{
    switch (event.getKey().getValue())
    {
        case Key::LEFT_SHIFT:
        case Key::RIGHT_SHIFT:
            mSplit = false;
            break;
    }
}
开发者ID:mekolat,项目名称:elektrogamesvn,代码行数:10,代码来源:inventorywindow.cpp


示例19: keyPressed

void IntTextField::keyPressed(gcn::KeyEvent &event)
{
    const gcn::Key &key = event.getKey();

    if (key.getValue() == Key::BACKSPACE ||
        key.getValue() == Key::DELETE)
    {
        setText(std::string());
        event.consume();
    }

    if (!key.isNumber())
        return;

    TextField::keyPressed(event);

    std::istringstream s(getText());
    int i;
    s >> i;
    setValue(i);
}
开发者ID:Ablu,项目名称:invertika,代码行数:21,代码来源:inttextfield.cpp


示例20: keyPressed

    void Menu::keyPressed(gcn::KeyEvent& keyEvent)
    {
        if (keyEvent.getKey().getValue() == gcn::Key::SPACE
            || keyEvent.getKey().getValue() == gcn::Key::LEFT_ALT
            || keyEvent.getKey().getValue() == gcn::Key::LEFT_CONTROL
            || keyEvent.getKey().getValue() == gcn::Key::ENTER
            && keyEvent.getSource() == this)
        {
            mGameSelectContainer->setVisible(true);
            mStartContainer->setVisible(false);
            mMainMultiSelector->requestFocus();

            //generateAction();
        }
        else if (keyEvent.getKey().getValue() == gcn::Key::ESCAPE)
        {
            init();

            //generateAction();
        }
    }
开发者ID:olofn,项目名称:db_public,代码行数:21,代码来源:menu.cpp



注:本文中的gcn::KeyEvent类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ gcn::MouseEvent类代码示例发布时间:2022-05-31
下一篇:
C++ gcn::ActionEvent类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap