forked from valve/halflife-sdk
78 lines
1.1 KiB
C++
78 lines
1.1 KiB
C++
|
|
#ifndef VGUI_ACTIONSIGNAL_H
|
|
#define VGUI_ACTIONSIGNAL_H
|
|
|
|
#include<VGUI.h>
|
|
|
|
/*
|
|
|
|
TODO: maybe try something like this..
|
|
|
|
class VGUIAPI ActionSignal
|
|
{
|
|
};
|
|
|
|
class VGUIAPI ActionSignalSimple : public ActionSignal
|
|
{
|
|
public:
|
|
virtual void actionPerformed(Panel* panel)=0;
|
|
};
|
|
|
|
class VGUIAPI ActionSignalInt : public ActionSignal
|
|
{
|
|
public:
|
|
virtual void actionPerformed(int value,Panel* panel)=0;
|
|
};
|
|
|
|
|
|
DefaultButtonModel would implement:
|
|
|
|
virtual void addActionSignal(ActionSignal* s)
|
|
{
|
|
if(s!=null)
|
|
{
|
|
_actionSignalDar.putElement(s);
|
|
}
|
|
}
|
|
|
|
virtual void fireActionSignal()
|
|
{
|
|
for(int i=0;i<_actionSignalDar.getCount();i++)
|
|
{
|
|
ActionSignal* signal=_actionSignalDar[i];
|
|
|
|
ActionSignalSimple* ss=dynamic_cast<ActionSignalSimple*>(signal);
|
|
if(ss!=null)
|
|
{
|
|
ss->actionPerformed(this);
|
|
}
|
|
|
|
ActionSignalCommand* si=dynamic_cast<ActionSignalInt*>(signal);
|
|
if(si!=null)
|
|
{
|
|
si->actionPerformed(_intValue,this);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
*/
|
|
|
|
#include<VGUI.h>
|
|
|
|
namespace vgui
|
|
{
|
|
|
|
class Panel;
|
|
|
|
class VGUIAPI ActionSignal
|
|
{
|
|
public:
|
|
virtual void actionPerformed(Panel* panel)=0;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|