summaryrefslogtreecommitdiffstats
path: root/ksirc/puke/pmenudta.h
blob: 4cbcb70a2e3455e16e7e64ee0bbed6d70a5838b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef PMENUDATA_H
#define PMENUDATA_H

class PMenuData;

#include <tqobject.h>
#include <tqmenudata.h>
#include "pmessage.h"
#include "pframe.h"
#include "pobject.h"
#include "controller.h"

/**
 * Little helper class here gives us access to needed info inside
 * TQMenuData
 */

class PMenuDataHelper : public TQMenuData
{
public:
  PMenuDataHelper(TQMenuData &qmd) {
    memcpy(this, &qmd, sizeof(TQMenuData));
  }
  int active() {
    return TQMenuData::actItem;
  }
  int actItem;
};

/**
 * We're subclased off TQMenuData so we can access it's internal proteted vars
 * We do not initialize NOR create it!!!!
 */

class PMenuData :  public PObject
{
  TQ_OBJECT
  
public:
  PMenuData (PObject *_child);
  virtual ~PMenuData ();

  virtual void messageHandler(int fd, PukeMessage *pm);
  virtual bool menuMessageHandler(int fd, PukeMessage *pm);

//  virtual void setWidget(TQMenuData *_qmd);
 // virtual TQMenuData *widget();

  virtual int activeItem()
    {
      return PMenuDataHelper(*((TQMenuData *) child->widget())).active();
    }

 private:
   PObject *child;
};

#endif