mirror of
https://github.com/ENSL/NS.git
synced 2024-11-27 23:02:16 +00:00
79 lines
1.1 KiB
C
79 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
|
||
|
|
||
|
|