mirror of https://github.com/bsnes-emu/bsnes.git
312 lines
4.7 KiB
C++
Executable File
312 lines
4.7 KiB
C++
Executable File
struct Object::Data {
|
|
public:
|
|
Object &self;
|
|
bool locked;
|
|
|
|
Data(Object &self) : self(self) {
|
|
locked = false;
|
|
}
|
|
};
|
|
|
|
struct Font::Data : public QFont {
|
|
public:
|
|
Font &self;
|
|
|
|
Data(Font &self) : self(self) {
|
|
}
|
|
};
|
|
|
|
struct Menu::Data : public QMenu {
|
|
public:
|
|
Menu &self;
|
|
Window *parent;
|
|
|
|
Data(Menu &self) : self(self), parent(0) {
|
|
}
|
|
};
|
|
|
|
struct MenuSeparator::Data {
|
|
public:
|
|
MenuSeparator &self;
|
|
QAction *action;
|
|
|
|
Data(MenuSeparator &self) : self(self) {
|
|
}
|
|
};
|
|
|
|
struct MenuItem::Data : public QAction {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MenuItem &self;
|
|
|
|
Data(MenuItem &self) : self(self), QAction(0) {
|
|
}
|
|
|
|
public slots:
|
|
void onTick() {
|
|
if(self.onTick) self.onTick();
|
|
}
|
|
};
|
|
|
|
struct MenuCheckItem::Data : public QAction {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MenuCheckItem &self;
|
|
|
|
Data(MenuCheckItem &self) : self(self), QAction(0) {
|
|
}
|
|
|
|
public slots:
|
|
void onTick() {
|
|
if(self.onTick) self.onTick();
|
|
}
|
|
};
|
|
|
|
struct MenuRadioItem::Data : public QAction {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MenuRadioItem &self;
|
|
Menu *parent;
|
|
QActionGroup *actionGroup;
|
|
|
|
Data(MenuRadioItem &self) : self(self), QAction(0) {
|
|
}
|
|
|
|
public slots:
|
|
void onTick() {
|
|
if(self.object->locked == false && self.onTick && self.checked()) self.onTick();
|
|
}
|
|
};
|
|
|
|
struct Widget::Data {
|
|
public:
|
|
Widget &self;
|
|
QWidget *widget;
|
|
|
|
Data(Widget &self) : self(self) {
|
|
}
|
|
};
|
|
|
|
struct Window::Data : public QWidget {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
Window &self;
|
|
QFont *defaultFont;
|
|
QVBoxLayout *layout;
|
|
QMenuBar *menuBar;
|
|
QWidget *container;
|
|
QStatusBar *statusBar;
|
|
|
|
void closeEvent(QCloseEvent *event) {
|
|
if(self.onClose) {
|
|
bool result = self.onClose();
|
|
if(result == false) event->ignore();
|
|
}
|
|
}
|
|
|
|
Data(Window &self) : self(self) {
|
|
}
|
|
};
|
|
|
|
struct Button::Data : public QPushButton {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
Button &self;
|
|
|
|
Data(Button &self) : self(self) {
|
|
}
|
|
|
|
public slots:
|
|
void onTick() {
|
|
if(self.onTick) self.onTick();
|
|
}
|
|
};
|
|
|
|
struct Canvas::Data : public QWidget {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
Canvas &self;
|
|
QImage *image;
|
|
void paintEvent(QPaintEvent*);
|
|
|
|
Data(Canvas &self) : self(self) {
|
|
}
|
|
};
|
|
|
|
struct CheckBox::Data : public QCheckBox {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
CheckBox &self;
|
|
|
|
Data(CheckBox &self) : self(self) {
|
|
}
|
|
|
|
public slots:
|
|
void onTick() {
|
|
if(self.onTick) self.onTick();
|
|
}
|
|
};
|
|
|
|
struct ComboBox::Data : public QComboBox {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
ComboBox &self;
|
|
|
|
Data(ComboBox &self) : self(self) {
|
|
}
|
|
|
|
public slots:
|
|
void onChange() {
|
|
if(self.object->locked == false && self.onChange) self.onChange();
|
|
}
|
|
};
|
|
|
|
struct EditBox::Data : public QTextEdit {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
EditBox &self;
|
|
|
|
Data(EditBox &self) : self(self) {
|
|
}
|
|
|
|
public slots:
|
|
void onChange() {
|
|
if(self.onChange) self.onChange();
|
|
}
|
|
};
|
|
|
|
struct HorizontalSlider::Data : public QSlider {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
HorizontalSlider &self;
|
|
|
|
Data(HorizontalSlider &self) : self(self), QSlider(Qt::Horizontal) {
|
|
}
|
|
|
|
public slots:
|
|
void onChange() {
|
|
if(self.onChange) self.onChange();
|
|
}
|
|
};
|
|
|
|
struct Label::Data : public QLabel {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
Label &self;
|
|
|
|
Data(Label &self) : self(self) {
|
|
}
|
|
};
|
|
|
|
struct ListBox::Data : public QTreeWidget {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
ListBox &self;
|
|
bool checkable;
|
|
|
|
Data(ListBox &self) : self(self) {
|
|
checkable = false;
|
|
}
|
|
|
|
public slots:
|
|
void onActivate() {
|
|
if(self.object->locked == false && self.onActivate) self.onActivate();
|
|
}
|
|
|
|
void onChange() {
|
|
if(self.object->locked == false && self.onChange) self.onChange();
|
|
}
|
|
|
|
void onTick(QTreeWidgetItem *item) {
|
|
if(self.object->locked == false && self.onTick) self.onTick(item->data(0, Qt::UserRole).toUInt());
|
|
}
|
|
};
|
|
|
|
struct ProgressBar::Data : public QProgressBar {
|
|
public:
|
|
ProgressBar &self;
|
|
|
|
Data(ProgressBar &self) : self(self) {
|
|
}
|
|
};
|
|
|
|
struct RadioBox::Data : public QRadioButton {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
RadioBox &self;
|
|
Window *parent;
|
|
QButtonGroup *buttonGroup;
|
|
|
|
Data(RadioBox &self) : self(self) {
|
|
}
|
|
|
|
public slots:
|
|
void onTick() {
|
|
if(self.onTick && self.checked()) self.onTick();
|
|
}
|
|
};
|
|
|
|
struct TextBox::Data : public QLineEdit {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
TextBox &self;
|
|
|
|
Data(TextBox &self) : self(self) {
|
|
}
|
|
|
|
public slots:
|
|
void onActivate() {
|
|
if(self.onActivate) self.onActivate();
|
|
}
|
|
|
|
void onChange() {
|
|
if(self.onChange) self.onChange();
|
|
}
|
|
};
|
|
|
|
struct VerticalSlider::Data : public QSlider {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
VerticalSlider &self;
|
|
|
|
Data(VerticalSlider &self) : self(self), QSlider(Qt::Vertical) {
|
|
}
|
|
|
|
public slots:
|
|
void onChange() {
|
|
if(self.onChange) self.onChange();
|
|
}
|
|
};
|
|
|
|
struct Viewport::Data : public QWidget {
|
|
public:
|
|
Viewport &self;
|
|
|
|
Data(Viewport &self) : self(self) {
|
|
}
|
|
};
|
|
|
|
struct OS::Data : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
QApplication *application;
|
|
|
|
public slots:
|
|
};
|