You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdenetwork/ksirc/puke/pmenudta.h

58 lines
1.0 KiB

#ifndef PMENUDATA_H
#define PMENUDATA_H
class PMenuData;
#include <qobject.h>
#include <qmenudata.h>
#include "pmessage.h"
#include "pframe.h"
#include "pobject.h"
#include "controller.h"
/**
* Little helper class here gives us access to needed info inside
* QMenuData
*/
class PMenuDataHelper : public QMenuData
{
public:
PMenuDataHelper(QMenuData &qmd) {
memcpy(this, &qmd, sizeof(QMenuData));
}
int active() {
return QMenuData::actItem;
}
int actItem;
};
/**
* We're subclased off QMenuData so we can access it's internal proteted vars
* We do not initialize NOR create it!!!!
*/
class PMenuData : public PObject
{
Q_OBJECT
public:
PMenuData (PObject *_child);
virtual ~PMenuData ();
virtual void messageHandler(int fd, PukeMessage *pm);
virtual bool menuMessageHandler(int fd, PukeMessage *pm);
// virtual void setWidget(QMenuData *_qmd);
// virtual QMenuData *widget();
virtual int activeItem()
{
return PMenuDataHelper(*((QMenuData *) child->widget())).active();
}
private:
PObject *child;
};
#endif