当前位置: 首页>>代码示例>>C++>>正文


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

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


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


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