コード例 #1
0
ファイル: GUIManager.cpp プロジェクト: Nvveen/Revolution
bool GUIManager::handleDSActivation ( CEGUI::EventArgs const & e )
{
  CEGUI::Window *tab =
    static_cast<CEGUI::WindowEventArgs const &>(e).window->getParent();
  CEGUI::Listbox *lb = static_cast<CEGUI::Listbox *>(tab->getChild(0));
  ListboxItem *item = static_cast<ListboxItem *>(lb->getFirstSelectedItem());
  if (item != NULL) {
    DataManager *dm = static_cast<DataManager *>(item->getUserData());
    CEGUI::Scrollbar *sb = static_cast<CEGUI::Scrollbar *>(tab->getChild(2));
    std::vector<unsigned int> const & dims = dm->getDimensions();
    unsigned int dim = dims[int(sb->getScrollPosition()*(dims.size()-1))];
    float scrollPos = sb->getScrollPosition();
    dm->activate(dim);
    // Enable global scrollbar
    CEGUI::WindowManager & wm = CEGUI::WindowManager::getSingleton();
    sb = static_cast<CEGUI::Scrollbar *>(wm.getWindow("Sheet/DimensionSlider"));
    sb->enable();
    CEGUI::WindowEventArgs w(sb);
    sb->fireEvent(CEGUI::Scrollbar::EventScrollPositionChanged, w);
    // Set the global scrollbar to the right position.
    sb->setScrollPosition(scrollPos);
    CEGUI::Window *desc = wm.getWindow("Sheet/DimensionText");
    desc->show();
  }
  // TODO handle else-error
  return true;
}
コード例 #2
0
ファイル: gui_sdl_window.cpp プロジェクト: justinzane/navit
bool MoveCamera(const CEGUI::EventArgs& event){
	
	CEGUI::Scrollbar * sb = static_cast<const CEGUI::Scrollbar *>(CEGUI::WindowManager::getSingleton().getWindow("OSD/Scrollbar1"));
 	dbg(0,"moving : %f\n",sb->getScrollPosition());
	eyeZ=-sb->getScrollPosition();
	if (eyeZ>-100){
		eyeZ=-100;
	}
}
コード例 #3
0
ファイル: CGUIMemo_Impl.cpp プロジェクト: AdiBoy/mtasa-blue
float CGUIMemo_Impl::GetVerticalScrollPosition ( void )
{
    CEGUI::Scrollbar* pScrollbar = reinterpret_cast < CEGUI::MultiLineEditbox* > ( m_pWindow )->d_vertScrollbar;
    if ( pScrollbar )
    {
        return pScrollbar->getScrollPosition ();
    }

    return 0.0f;
}
コード例 #4
0
float CGUIGridList_Impl::GetVerticalScrollPosition ( void )
{
    try
    {
        CEGUI::Scrollbar* pScrollbar = reinterpret_cast < CEGUI::MultiColumnList* > ( m_pWindow )->d_vertScrollbar;
        if ( pScrollbar )
            return ( pScrollbar->getScrollPosition () / ( pScrollbar->getDocumentSize () - pScrollbar->getPageSize () ) );
    }
    catch ( CEGUI::Exception ) {}
    return 0.0f;
}
コード例 #5
0
ファイル: MainGameScreen.cpp プロジェクト: Ackak/Khazad
bool MainGameScreen::DepthSliderMoved(const CEGUI::EventArgs& pEventArgs)
{
    CEGUI::Scrollbar* DepthSliderTop = static_cast<CEGUI::Scrollbar*> (GUI->getWindowManager()->getWindow("MainGameScreen/DepthScrollerTop"));
    CEGUI::Scrollbar* DepthSliderBottom = static_cast<CEGUI::Scrollbar*> (GUI->getWindowManager()->getWindow("MainGameScreen/DepthScrollerBottom"));

    if (DepthSliderTop != NULL && DepthSliderBottom != NULL)
    {
        int32_t ZMax = GAME->getMap()->getHighest() - GAME->getMap()->getLowest();
        RENDERER->getActiveCamera()->SetSlice(ZMax - DepthSliderTop->getScrollPosition(), ZMax - DepthSliderBottom->getScrollPosition());
    }
    return true;
}
コード例 #6
0
ファイル: GUIManager.cpp プロジェクト: Nvveen/Revolution
bool GUIManager::handleBigScrollbarChanged ( CEGUI::EventArgs const & e )
{
  CEGUI::WindowManager & wm = CEGUI::WindowManager::getSingleton();
  try {
    if (_selectedDM != NULL) {
      CEGUI::Window *desc = wm.getWindow("Sheet/DimensionText");
      CEGUI::Scrollbar *sb = static_cast<CEGUI::Scrollbar *>(
          static_cast<CEGUI::WindowEventArgs const &>(e).window);
      float f = sb->getScrollPosition();
      std::vector<unsigned int> const & dims = _selectedDM->getDimensions();
      unsigned int newDim = dims[int(f*(dims.size()-1))];
      std::ostringstream ss; ss << newDim;
      desc->setText(ss.str());
      CEGUI::Scrollbar *otherSB;
      switch (_selectedDM->type) {
        case DM_Height:
          otherSB = static_cast<CEGUI::Scrollbar *>(wm.getWindow(
                "Sheet/DatasetFrame/TabControl/HTab/Scrollbar"));
          break;
        case DM_Pattern:
          otherSB = static_cast<CEGUI::Scrollbar *>(wm.getWindow(
                "Sheet/DatasetFrame/TabControl/PTab/Scrollbar"));
          break;
        case DM_Color:
          otherSB = static_cast<CEGUI::Scrollbar *>(wm.getWindow(
                "Sheet/DatasetFrame/TabControl/CTab/Scrollbar"));
          break;
        default:
          break;
      };
      otherSB->setScrollPosition(f);
      _selectedDM->activate(newDim);
    }
  }
  catch (DataManagerException & e) {
    std::cerr << e.what() << std::endl;
  }
  return true;
}
コード例 #7
0
ファイル: MainGameScreen.cpp プロジェクト: Ackak/Khazad
void MainGameScreen::resetDeepthSliders()
{
    CEGUI::Scrollbar* DepthSliderTop = static_cast<CEGUI::Scrollbar*> (GUI->getWindowManager()->getWindow("MainGameScreen/DepthScrollerTop"));
    if (DepthSliderTop != NULL)
    {
        int32_t ZMax = GAME->getMap()->getHighest() - GAME->getMap()->getLowest();
        DepthSliderTop->setDocumentSize(ZMax);
    }

    CEGUI::Scrollbar* DepthSliderBottom = static_cast<CEGUI::Scrollbar*> (GUI->getWindowManager()->getWindow("MainGameScreen/DepthScrollerBottom"));
    if (DepthSliderBottom != NULL)
    {
        int32_t ZMax = GAME->getMap()->getHighest() - GAME->getMap()->getLowest();
        float OldPosition = DepthSliderBottom->getScrollPosition();
        if (OldPosition > ZMax)
        {
            DepthSliderBottom->setDocumentSize(ZMax);
            DepthSliderBottom->setScrollPosition(ZMax);
        } else {
            DepthSliderBottom->setScrollPosition(ZMax);
        }
    }
}