diff --git a/code/ryzom/client/src/interface_v3/action_handler.cpp b/code/ryzom/client/src/interface_v3/action_handler.cpp
index 6ec889ca4..1961a5315 100644
--- a/code/ryzom/client/src/interface_v3/action_handler.cpp
+++ b/code/ryzom/client/src/interface_v3/action_handler.cpp
@@ -15,7 +15,9 @@
// along with this program. If not, see .
#include "action_handler.h"
-#include "group_container.h"
+//#include "group_container.h"
+#include "group_container_base.h"
+#include "nel/gui/interface_property.h"
#include "nel/gui/interface_expr.h"
#include "nel/gui/db_manager.h"
#include "interface_link.h"
@@ -481,7 +483,7 @@ REGISTER_ACTION_HANDLER (CAHResizeW, "resize_w");
////////////////////////////////
// the container whose alpha is being edited
-static CGroupContainer *AlphaChooserTarget = NULL;
+static CGroupContainerBase *AlphaChooserTarget = NULL;
static bool OldUseGlobalAlpha;
static uint8 OldContentAlpha;
static uint8 OldBgAlpha;
@@ -518,11 +520,11 @@ class CAHChooseUIAlpha : public IActionHandler
public:
virtual void execute (CCtrlBase *pCaller, const std::string &/* Params */)
{
- CGroupContainer *gc = NULL;
+ CGroupContainerBase *gc = NULL;
CCtrlBase *cb = pCaller;
while (cb)
{
- gc = dynamic_cast(cb);
+ gc = dynamic_cast(cb);
if (gc) break;
cb = cb->getParent();
}
@@ -635,11 +637,11 @@ class CAHLockUnlock : public IActionHandler
{
virtual void execute (CCtrlBase *pCaller, const std::string &/* Params */)
{
- CGroupContainer *gc = NULL;
+ CGroupContainerBase *gc = NULL;
CCtrlBase *cb = pCaller;
while (cb)
{
- gc = dynamic_cast(cb);
+ gc = dynamic_cast< CGroupContainerBase* >(cb);
if (gc) break;
cb = cb->getParent();
}
@@ -655,7 +657,7 @@ class CAHSetTransparent : public IActionHandler
{
virtual void execute (CCtrlBase * /* pCaller */, const std::string &Params)
{
- CGroupContainer *pGC = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(Params));
+ CGroupContainerBase *pGC = dynamic_cast< CGroupContainerBase* >(CWidgetManager::getInstance()->getElementFromId(Params));
if (pGC != NULL)
{
pGC->setUseGlobalAlpha(false);
@@ -678,7 +680,7 @@ class CAHSetAlpha : public IActionHandler
uint8 alpha;
fromString(getParam (Params, "alpha"), alpha);
- CGroupContainer *pGC = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(ui));
+ CGroupContainerBase *pGC = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(ui));
if (pGC != NULL)
{
pGC->setUseGlobalAlpha(false);
diff --git a/code/ryzom/client/src/interface_v3/group_container.cpp b/code/ryzom/client/src/interface_v3/group_container.cpp
index da843ae0c..0714dd2eb 100644
--- a/code/ryzom/client/src/interface_v3/group_container.cpp
+++ b/code/ryzom/client/src/interface_v3/group_container.cpp
@@ -1200,10 +1200,6 @@ CGroupContainer::CGroupContainer(const TCtorParam ¶m)
// faster than a virual call
_IsGroupContainer = true;
- _ContentAlpha = 255;
- _ContainerAlpha = 255;
- _RolloverAlphaContainer = 0;
- _RolloverAlphaContent = 0;
_CurrentContainerAlpha = 255;
_CurrentContentAlpha = 255;
_CurrentRolloverAlphaContainer = 0.f;
@@ -1250,7 +1246,6 @@ CGroupContainer::CGroupContainer(const TCtorParam ¶m)
_OpenAtStart = false;
_OpenedBeforePopup = false;
- _Locked = false;
_Lockable = true;
_EnabledResizer = true;
@@ -1265,7 +1260,6 @@ CGroupContainer::CGroupContainer(const TCtorParam ¶m)
_MovingInParentList = false;
_ActiveSavable = true;
_Savable = true;
- _UseGlobalAlpha = true;
_TitleClass = TitleText;
_TouchFlag = false;
_PositionBackuped = false;
@@ -4028,52 +4022,3 @@ void CGroupContainer::setContentYOffset(sint32 value)
}
-
-
-// ***************************************************************************
-void CGroupContainer::triggerAlphaSettingsChangedAH()
-{
- if (_AHOnAlphaSettingsChanged != NULL)
- {
- CInterfaceManager *im = CInterfaceManager::getInstance();
- CAHManager::getInstance()->runActionHandler(_AHOnAlphaSettingsChanged, this, _AHOnAlphaSettingsChangedParams);
- }
-}
-
-
-// ***************************************************************************
-void CGroupContainer::setUseGlobalAlpha(bool use)
-{
- _UseGlobalAlpha = use;
- triggerAlphaSettingsChangedAH();
-}
-
-// ***************************************************************************
-void CGroupContainer::setContainerAlpha(uint8 alpha)
-{
- _ContainerAlpha = alpha;
- triggerAlphaSettingsChangedAH();
-}
-
-// ***************************************************************************
-void CGroupContainer::setContentAlpha(uint8 alpha)
-{
- _ContentAlpha = alpha;
- triggerAlphaSettingsChangedAH();
-}
-
-// ***************************************************************************
-void CGroupContainer::setRolloverAlphaContent(uint8 alpha)
-{
- _RolloverAlphaContent = alpha;
- triggerAlphaSettingsChangedAH();
-}
-
-// ***************************************************************************
-void CGroupContainer::setRolloverAlphaContainer(uint8 alpha)
-{
- _RolloverAlphaContainer = alpha;
- triggerAlphaSettingsChangedAH();
-}
-
-
diff --git a/code/ryzom/client/src/interface_v3/group_container.h b/code/ryzom/client/src/interface_v3/group_container.h
index 48be495de..c1268870c 100644
--- a/code/ryzom/client/src/interface_v3/group_container.h
+++ b/code/ryzom/client/src/interface_v3/group_container.h
@@ -289,13 +289,7 @@ public:
REFLECT_BOOL("opened", isOpen, setOpen);
REFLECT_BOOL("lockable", isLockable, setLockable);
REFLECT_BOOL("locked", isLocked, setLocked);
- REFLECT_SINT32("container_alpha", getContainerAlphaAsSInt32, setContainerAlpha);
- REFLECT_SINT32("content_alpha", getContentAlphaAsSInt32, setContentAlpha);
- REFLECT_SINT32("rollover_content_alpha", getRolloverAlphaContentAsSInt32, setRolloverAlphaContent);
- REFLECT_SINT32("rollover_container_alpha", getRolloverAlphaContainerAsSInt32, setRolloverAlphaContainer);
- REFLECT_BOOL("use_global_alpha_settings", isUsingGlobalAlpha, setUseGlobalAlpha);
- REFLECT_STRING("on_alpha_settings_changed", getAHOnAlphaSettingsChanged, setAHOnAlphaSettingsChanged);
- REFLECT_STRING("on_alpha_settings_changed_aparams", getAHOnAlphaSettingsChangedParams, setAHOnAlphaSettingsChangedParams);
+
REFLECT_BOOL("header_active", getHeaderActive, setHeaderActive);
REFLECT_BOOL("right_button_enabled", getRightButtonEnabled, setRightButtonEnabled);
REFLECT_EXPORT_END
@@ -372,33 +366,8 @@ public:
sint32 getRefW() const { return _RefW; }
- // alpha for content / container
- void setUseGlobalAlpha(bool use);
- void setContainerAlpha(uint8 alpha);
- void setContentAlpha(uint8 alpha);
- void setRolloverAlphaContent(uint8 alpha);
- void setRolloverAlphaContainer(uint8 alpha);
-
- // sin32 versions for export
- void setContainerAlpha(sint32 alpha) { setContainerAlpha((uint8) alpha); }
- void setContentAlpha(sint32 alpha) { setContentAlpha((uint8) alpha); }
- void setRolloverAlphaContent(sint32 alpha) { setRolloverAlphaContent((uint8) alpha); }
- void setRolloverAlphaContainer(sint32 alpha) { setRolloverAlphaContainer((uint8) alpha); }
-
- bool isUsingGlobalAlpha() const { return _UseGlobalAlpha; }
-
- uint8 getContainerAlpha() const { return _ContainerAlpha; }
- uint8 getContentAlpha() const { return _ContentAlpha; }
uint8 getCurrentContainerAlpha() const { return _CurrentContainerAlpha; }
uint8 getCurrentContentAlpha() const { return _CurrentContentAlpha; }
- uint8 getRolloverAlphaContent() const { return _RolloverAlphaContent; }
- uint8 getRolloverAlphaContainer() const { return _RolloverAlphaContainer; }
-
- // for export
- sint32 getContainerAlphaAsSInt32() const { return (sint32) _ContainerAlpha; }
- sint32 getContentAlphaAsSInt32() const { return (sint32) _ContentAlpha; }
- sint32 getRolloverAlphaContentAsSInt32() const { return (sint32) _RolloverAlphaContent; }
- sint32 getRolloverAlphaContainerAsSInt32() const { return (sint32) _RolloverAlphaContainer; }
/** Increase the rollover alpha for the current frame.
* Example of use : an edit box that has focus in a group container
@@ -413,7 +382,6 @@ public:
void setLockable(bool lockable);
bool isLockable() const { return _Lockable; }
void setLocked(bool locked);
- bool isLocked() const { return _Locked; }
// to be called by the 'deactive check' handler
static void validateCanDeactivate(bool validate) { _ValidateCanDeactivate = validate; }
@@ -439,17 +407,6 @@ public:
void setOnCloseButtonHandler(const std::string &h) { _AHOnCloseButton = CAHManager::getInstance()->getAH(h,_AHOnCloseButtonParams); }
void setOnCloseButtonParams(const std::string &p) { _AHOnCloseButtonParams = p; }
-
- std::string getAHOnAlphaSettingsChanged() const { return CAHManager::getInstance()->getAHName(_AHOnAlphaSettingsChanged); }
- std::string getAHOnAlphaSettingsChangedParams() const { return _AHOnAlphaSettingsChangedParams; }
-
- void setAHOnAlphaSettingsChanged(const std::string &h) { _AHOnAlphaSettingsChanged = CAHManager::getInstance()->getAH(h, _AHOnAlphaSettingsChangedParams); }
- void setAHOnAlphaSettingsChangedParams(const std::string &p) { _AHOnAlphaSettingsChangedParams = p; }
-
-
-
-
-
void setModalParentList (const std::string &name);
bool checkIfModal(const NLGUI::CEventDescriptor& event); // Return true if we can handle the event (and prevent from selecting a window)
bool isGrayed() const;
@@ -506,13 +463,9 @@ public:
sint32 getTitleDeltaMaxW() const { return _TitleDeltaMaxW; }
protected:
- uint8 _ContainerAlpha;
- uint8 _ContentAlpha;
uint8 _CurrentContainerAlpha;
uint8 _CurrentContentAlpha;
- uint8 _RolloverAlphaContainer; // Alpha for the window when mouse not over it
uint8 _ICurrentRolloverAlphaContainer;
- uint8 _RolloverAlphaContent; // Alpha for the content when mouse not over it
uint8 _HighLightedAlpha;
float _CurrentRolloverAlphaContainer;
float _CurrentRolloverAlphaContent;
@@ -585,8 +538,6 @@ protected:
CStringShared _AHOnMoveParams;
IActionHandler *_AHOnResize;
CStringShared _AHOnResizeParams;
- IActionHandler *_AHOnAlphaSettingsChanged;
- CStringShared _AHOnAlphaSettingsChangedParams;
IActionHandler *_AHOnBeginMove;
CStringShared _AHOnBeginMoveParams;
@@ -612,7 +563,6 @@ protected:
// Move management
bool _Movable : 1; // Is the container movable ?
bool _MovableInParentList: 1;
- bool _Locked : 1; // Is the container locked (ie override movable, openable ...)
bool _Lockable : 1;
bool _MovingInParentList : 1; // Mgt : currently moving ?
@@ -628,7 +578,6 @@ protected:
bool _Savable : 1;
bool _ActiveSavable : 1;
- bool _UseGlobalAlpha : 1;
// Display title background or not
bool _HeaderActive : 1;
@@ -694,7 +643,6 @@ private:
enum {NumLayerName=10};
static const std::string _OptionLayerName[NumLayerName];
- void triggerAlphaSettingsChangedAH();
public:
// for use by CCtrlMover
// Tell that this group is moving in its parent list
diff --git a/code/ryzom/client/src/interface_v3/group_container_base.cpp b/code/ryzom/client/src/interface_v3/group_container_base.cpp
index 71deb661f..79144c787 100644
--- a/code/ryzom/client/src/interface_v3/group_container_base.cpp
+++ b/code/ryzom/client/src/interface_v3/group_container_base.cpp
@@ -20,6 +20,12 @@
CGroupContainerBase::CGroupContainerBase( const CViewBase::TCtorParam ¶m ) :
CInterfaceGroup( param )
{
+ _ContentAlpha = 255;
+ _ContainerAlpha = 255;
+ _RolloverAlphaContainer = 0;
+ _RolloverAlphaContent = 0;
+ _Locked = false;
+ _UseGlobalAlpha = true;
}
CGroupContainerBase::~CGroupContainerBase()
@@ -41,3 +47,46 @@ void CGroupContainerBase::setLocked( bool locked )
}
+// ***************************************************************************
+void CGroupContainerBase::triggerAlphaSettingsChangedAH()
+{
+ if (_AHOnAlphaSettingsChanged != NULL)
+ CAHManager::getInstance()->runActionHandler(_AHOnAlphaSettingsChanged, this, _AHOnAlphaSettingsChangedParams);
+}
+
+
+// ***************************************************************************
+void CGroupContainerBase::setUseGlobalAlpha(bool use)
+{
+ _UseGlobalAlpha = use;
+ triggerAlphaSettingsChangedAH();
+}
+
+// ***************************************************************************
+void CGroupContainerBase::setContainerAlpha(uint8 alpha)
+{
+ _ContainerAlpha = alpha;
+ triggerAlphaSettingsChangedAH();
+}
+
+// ***************************************************************************
+void CGroupContainerBase::setContentAlpha(uint8 alpha)
+{
+ _ContentAlpha = alpha;
+ triggerAlphaSettingsChangedAH();
+}
+
+// ***************************************************************************
+void CGroupContainerBase::setRolloverAlphaContent(uint8 alpha)
+{
+ _RolloverAlphaContent = alpha;
+ triggerAlphaSettingsChangedAH();
+}
+
+// ***************************************************************************
+void CGroupContainerBase::setRolloverAlphaContainer(uint8 alpha)
+{
+ _RolloverAlphaContainer = alpha;
+ triggerAlphaSettingsChangedAH();
+}
+
diff --git a/code/ryzom/client/src/interface_v3/group_container_base.h b/code/ryzom/client/src/interface_v3/group_container_base.h
index 316e83cf9..4e2e2f28e 100644
--- a/code/ryzom/client/src/interface_v3/group_container_base.h
+++ b/code/ryzom/client/src/interface_v3/group_container_base.h
@@ -20,20 +20,72 @@
#include "interface_group.h"
+
class CGroupContainerBase : public CInterfaceGroup
{
public:
DECLARE_UI_CLASS( CGroupContainerBase )
+
CGroupContainerBase( const TCtorParam ¶m );
virtual ~CGroupContainerBase();
virtual void removeAllContainers();
virtual void setLocked( bool locked );
+ bool isLocked() const { return _Locked; }
+
+ uint8 getContainerAlpha() const { return _ContainerAlpha; }
+ uint8 getContentAlpha() const { return _ContentAlpha; }
+ uint8 getRolloverAlphaContent() const { return _RolloverAlphaContent; }
+ uint8 getRolloverAlphaContainer() const { return _RolloverAlphaContainer; }
+
+ void setContainerAlpha( uint8 alpha );
+ void setContentAlpha( uint8 alpha );
+ void setRolloverAlphaContent( uint8 alpha );
+ void setRolloverAlphaContainer( uint8 alpha );
+
+ // for export
+ sint32 getContainerAlphaAsSInt32() const{ return (sint32)_ContainerAlpha; }
+ sint32 getContentAlphaAsSInt32() const{ return (sint32)_ContentAlpha; }
+ sint32 getRolloverAlphaContentAsSInt32() const{ return (sint32)_RolloverAlphaContent; }
+ sint32 getRolloverAlphaContainerAsSInt32() const{ return (sint32)_RolloverAlphaContainer; }
+
+ // sin32 versions for export
+ void setContainerAlpha( sint32 alpha ){ setContainerAlpha((uint8) alpha); }
+ void setContentAlpha( sint32 alpha ){ setContentAlpha((uint8) alpha); }
+ void setRolloverAlphaContent( sint32 alpha ){ setRolloverAlphaContent((uint8) alpha); }
+ void setRolloverAlphaContainer( sint32 alpha ){ setRolloverAlphaContainer((uint8) alpha); }
+
+ void setUseGlobalAlpha( bool use );
+ bool isUsingGlobalAlpha() const{ return _UseGlobalAlpha; }
+
+ std::string getAHOnAlphaSettingsChanged() const{ return CAHManager::getInstance()->getAHName( _AHOnAlphaSettingsChanged ); }
+ std::string getAHOnAlphaSettingsChangedParams() const{ return _AHOnAlphaSettingsChangedParams; }
+
+ void setAHOnAlphaSettingsChanged( const std::string &h ){ _AHOnAlphaSettingsChanged = CAHManager::getInstance()->getAH( h, _AHOnAlphaSettingsChangedParams ); }
+ void setAHOnAlphaSettingsChangedParams( const std::string &p ){ _AHOnAlphaSettingsChangedParams = p; }
REFLECT_EXPORT_START( CGroupContainerBase, CInterfaceGroup )
+ REFLECT_SINT32("container_alpha", getContainerAlphaAsSInt32, setContainerAlpha);
+ REFLECT_SINT32("content_alpha", getContentAlphaAsSInt32, setContentAlpha);
+ REFLECT_SINT32("rollover_content_alpha", getRolloverAlphaContentAsSInt32, setRolloverAlphaContent);
+ REFLECT_SINT32("rollover_container_alpha", getRolloverAlphaContainerAsSInt32, setRolloverAlphaContainer);
+ REFLECT_BOOL("use_global_alpha_settings", isUsingGlobalAlpha, setUseGlobalAlpha);
+ REFLECT_STRING("on_alpha_settings_changed", getAHOnAlphaSettingsChanged, setAHOnAlphaSettingsChanged);
+ REFLECT_STRING("on_alpha_settings_changed_aparams", getAHOnAlphaSettingsChangedParams, setAHOnAlphaSettingsChangedParams);
REFLECT_EXPORT_END
protected:
+ void triggerAlphaSettingsChangedAH();
+
+ uint8 _ContainerAlpha;
+ uint8 _ContentAlpha;
+ uint8 _RolloverAlphaContainer; // Alpha for the window when mouse not over it
+ uint8 _RolloverAlphaContent; // Alpha for the content when mouse not over it
+ bool _Locked : 1; // Is the container locked (ie override movable, openable ...)
+ bool _UseGlobalAlpha : 1;
+
+ IActionHandler *_AHOnAlphaSettingsChanged;
+ CStringShared _AHOnAlphaSettingsChangedParams;
private: