diff --git a/code/nel/include/nel/gui/view_pointer_base.h b/code/nel/include/nel/gui/view_pointer_base.h index bcc38fea4..ab7629a19 100644 --- a/code/nel/include/nel/gui/view_pointer_base.h +++ b/code/nel/include/nel/gui/view_pointer_base.h @@ -18,6 +18,7 @@ #ifndef VIEW_POINTER_BASE_H #define VIEW_POINTER_BASE_H +#include "nel/misc/events.h" #include "nel/gui/view_base.h" namespace NLGUI @@ -52,6 +53,11 @@ namespace NLGUI bool show() const {return _PointerVisible;} void draw(){} + + /// set button state + void setButtonState(NLMISC::TMouseButton state) { _Buttons = state; } + /// get buttons state + NLMISC::TMouseButton getButtonState() const { return _Buttons; } protected: // (x,y) is from the TopLeft corner of the window @@ -66,6 +72,8 @@ namespace NLGUI bool _PointerDrag; // Is the pointer down and we have moved ? bool _PointerVisible; // Is the pointer visible or hidden ? + NLMISC::TMouseButton _Buttons; + private: diff --git a/code/nel/src/gui/view_pointer_base.cpp b/code/nel/src/gui/view_pointer_base.cpp index 976263eb1..221fffbf4 100644 --- a/code/nel/src/gui/view_pointer_base.cpp +++ b/code/nel/src/gui/view_pointer_base.cpp @@ -21,7 +21,8 @@ namespace NLGUI { CViewPointerBase::CViewPointerBase( const CViewBase::TCtorParam ¶m ) : - CViewBase( param ) + CViewBase( param ), + _Buttons( NLMISC::noButton ) { _PointerX = _PointerY = _PointerOldX = _PointerOldY = _PointerDownX = _PointerDownY = 0; _PointerDown = false; diff --git a/code/ryzom/client/src/interface_v3/view_bitmap_combo.cpp b/code/ryzom/client/src/interface_v3/view_bitmap_combo.cpp index 34aebfaf8..c4f230129 100644 --- a/code/ryzom/client/src/interface_v3/view_bitmap_combo.cpp +++ b/code/ryzom/client/src/interface_v3/view_bitmap_combo.cpp @@ -14,13 +14,13 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . - - -#include "stdpch.h" - #include "view_bitmap_combo.h" -#include "interface_manager.h" #include "nel/misc/xml_auto_ptr.h" +#include "nel/gui/db_manager.h" +#include "nel/gui/view_renderer.h" +#include "nel/gui/widget_manager.h" +#include "nel/gui/view_pointer_base.h" +#include "nel/gui/interface_group.h" using namespace NLMISC; @@ -275,7 +275,6 @@ void CViewBitmapCombo::draw() if (numRow == 0 || numCol == 0) return; sint32 mx = 0, my = 0; - CInterfaceManager *pIM = CInterfaceManager::getInstance(); CViewRenderer &rVR = *CViewRenderer::getInstance(); const std::vector &rVB = CWidgetManager::getInstance()->getViewsUnderPointer(); if (!CWidgetManager::getInstance()->getPointer()) return; @@ -361,7 +360,7 @@ void CViewBitmapCombo::draw() && my < py + (sint32) itemh) { overItem = true; - if ( static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() )->getButtonState() & NLMISC::leftButton) + if ( CWidgetManager::getInstance()->getPointer()->getButtonState() & NLMISC::leftButton) { textId = getTexId(_TexsPushedId, texIndex); color = getCol(_ColPushed, texIndex); @@ -416,7 +415,7 @@ void CViewBitmapCombo::draw() // if (_CD.Unrolled.getBool()) { - if (overItem && static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() )->getButtonState() & NLMISC::leftButton) + if (overItem && CWidgetManager::getInstance()->getPointer()->getButtonState() & NLMISC::leftButton) { textId = getTexId(_TexsId, selectedTexIndex); color = getCol(_Col, selectedTexIndex); @@ -436,7 +435,7 @@ void CViewBitmapCombo::draw() && my < py + (sint32) itemh ) { - if ( static_cast< CViewPointer* >( CWidgetManager::getInstance()->getPointer() )->getButtonState() & NLMISC::leftButton) + if ( CWidgetManager::getInstance()->getPointer()->getButtonState() & NLMISC::leftButton) { textId = getTexId(_TexsPushedId, selectedTexIndex); color = getCol(_ColPushed, selectedTexIndex); diff --git a/code/ryzom/client/src/interface_v3/view_pointer.cpp b/code/ryzom/client/src/interface_v3/view_pointer.cpp index a78a4b47f..e1e18248d 100644 --- a/code/ryzom/client/src/interface_v3/view_pointer.cpp +++ b/code/ryzom/client/src/interface_v3/view_pointer.cpp @@ -42,8 +42,7 @@ NLMISC_REGISTER_OBJECT(CViewBase, CViewPointer, std::string, "pointer"); // -------------------------------------------------------------------------------------------------------------------- CViewPointer::CViewPointer (const TCtorParam ¶m) - : CViewPointerBase(param), - _Buttons(NLMISC::noButton) + : CViewPointerBase(param) { _TxIdDefault = -2; _TxIdMoveWindow = -2; diff --git a/code/ryzom/client/src/interface_v3/view_pointer.h b/code/ryzom/client/src/interface_v3/view_pointer.h index 274d07a56..8696ce245 100644 --- a/code/ryzom/client/src/interface_v3/view_pointer.h +++ b/code/ryzom/client/src/interface_v3/view_pointer.h @@ -63,11 +63,6 @@ public: } // TEMP PATCH - /// set button state - void setButtonState(NLMISC::TMouseButton state) { _Buttons = state; } - /// get buttons state - NLMISC::TMouseButton getButtonState() const { return _Buttons; } - private: /// Show or hide the pointer. Please, use SetMouseMode (bool freelook) instead. @@ -120,8 +115,6 @@ private: sint32 _OffsetX; sint32 _OffsetY; - NLMISC::TMouseButton _Buttons; - CGroupContainer *_LastHightLight; // Cursor mode