//Auto-generated by kalyptus. DO NOT EDIT.
#include <smoke.h>
#include <qt_smoke.h>
#include <qpalette.h>
#include <qfont.h>
#include <qmenudata.h>
#include <qsize.h>

class x_QCustomMenuItem : public QCustomMenuItem {
public:
    static void x_0(Smoke::Stack x) {
	// QCustomMenuItem()
	x_QCustomMenuItem* xret = new x_QCustomMenuItem();
	x[0].s_class = (void*)xret;
    }
    x_QCustomMenuItem() : QCustomMenuItem() {
    }
    void x_1(Smoke::Stack x) const {
	// fullSpan()
	bool xret = this->QCustomMenuItem::fullSpan();
	x[0].s_bool = xret;
    }
    void x_2(Smoke::Stack x) const {
	// isSeparator()
	bool xret = this->QCustomMenuItem::isSeparator();
	x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
	// setFont(const QFont&)
	this->QCustomMenuItem::setFont(*(const QFont *)x[1].s_class);
	(void)x; // noop (for compiler warning)
    }
    static void x_4(Smoke::Stack x) {
	// QCustomMenuItem(const QCustomMenuItem&)
	x_QCustomMenuItem* xret = new x_QCustomMenuItem(*(const QCustomMenuItem *)x[1].s_class);
	x[0].s_class = (void*)xret;
    }
    x_QCustomMenuItem(const QCustomMenuItem& x1) : QCustomMenuItem(x1) {
    }
    virtual bool fullSpan() const {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(1521, (void*)this, x)) return (bool)x[0].s_bool;
	return this->QCustomMenuItem::fullSpan();
    }
    virtual bool isSeparator() const {
	Smoke::StackItem x[1];
	if(qt_Smoke->binding->callMethod(1522, (void*)this, x)) return (bool)x[0].s_bool;
	return this->QCustomMenuItem::isSeparator();
    }
    virtual void paint(QPainter* x1, const QColorGroup& x2, bool x3, bool x4, int x5, int x6, int x7, int x8) {
	Smoke::StackItem x[9];
	x[1].s_class = (void*)x1;
	x[2].s_class = (void*)&x2;
	x[3].s_bool = x3;
	x[4].s_bool = x4;
	x[5].s_int = x5;
	x[6].s_int = x6;
	x[7].s_int = x7;
	x[8].s_int = x8;
	qt_Smoke->binding->callMethod(1524, (void*)this, x, true /*pure virtual*/);
	return;
	// ABSTRACT
    }
    virtual void setFont(const QFont& x1) {
	Smoke::StackItem x[2];
	x[1].s_class = (void*)&x1;
	if(qt_Smoke->binding->callMethod(1523, (void*)this, x)) return;
	this->QCustomMenuItem::setFont(x1);
    }
    virtual QSize sizeHint() {
	Smoke::StackItem x[1];
	qt_Smoke->binding->callMethod(1525, (void*)this, x, true /*pure virtual*/);
	QSize *xptr = (QSize *)x[0].s_class;
	QSize xret(*xptr);
	delete xptr;
	return xret;
	// ABSTRACT
    }
    ~x_QCustomMenuItem() { qt_Smoke->binding->deleted(55, (void*)this); }
};
void xcall_QCustomMenuItem(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QCustomMenuItem *xself = (x_QCustomMenuItem*)obj;
    switch(xi) {
	case 0: x_QCustomMenuItem::x_0(args);	break;
	case 1: xself->x_1(args);	break;
	case 2: xself->x_2(args);	break;
	case 3: xself->x_3(args);	break;
	case 4: x_QCustomMenuItem::x_4(args);	break;
	case 5: delete (QCustomMenuItem*)xself;	break;
    }
}
