61 lines
1.8 KiB
61 lines
1.8 KiB
3 years ago
|
#ifndef USSIMPLEBUTTON_H
|
||
|
#define USSIMPLEBUTTON_H
|
||
|
|
||
|
#include "AutoProperty.h"
|
||
|
|
||
|
#define US_SIMPLE_BUTTON_PROPERTY_1(NAME) US_SIMPLE_BUTTON_BASE(NAME, "fake title", "", true, \
|
||
|
true)
|
||
|
|
||
|
#define US_SIMPLE_BUTTON_PROPERTY_2(NAME, TITLE) US_SIMPLE_BUTTON_BASE(NAME, \
|
||
|
TITLE, \
|
||
|
"", \
|
||
|
true, \
|
||
|
true)
|
||
|
|
||
|
#define US_SIMPLE_BUTTON_PROPERTY_3(NAME, TITLE, IMAGE) \
|
||
|
US_SIMPLE_BUTTON_BASE(NAME, TITLE, IMAGE, true, true)
|
||
|
|
||
|
#define US_SIMPLE_BUTTON_PROPERTY_4(NAME, TITLE, IMAGE, ENABLE) \
|
||
|
US_SIMPLE_BUTTON_BASE(NAME, TITLE, IMAGE, ENABLE, true)
|
||
|
|
||
|
#define US_SIMPLE_BUTTON_PROPERTY_5(NAME, TITLE, IMAGE, ENABLE, VISIBLE) \
|
||
|
US_SIMPLE_BUTTON_BASE(NAME, TITLE, IMAGE, ENABLE, VISIBLE)
|
||
|
|
||
|
#define US_SIMPLE_BUTTON_ROUTER(A, B, C, D, E, FUNC, ...) FUNC
|
||
|
|
||
|
#define US_SIMPLE_BUTTON(...) \
|
||
|
US_SIMPLE_BUTTON_ROUTER(__VA_ARGS__, \
|
||
|
US_SIMPLE_BUTTON_PROPERTY_5(__VA_ARGS__), \
|
||
|
US_SIMPLE_BUTTON_PROPERTY_4(__VA_ARGS__), \
|
||
|
US_SIMPLE_BUTTON_PROPERTY_3(__VA_ARGS__), \
|
||
|
US_SIMPLE_BUTTON_PROPERTY_2(__VA_ARGS__), \
|
||
|
US_SIMPLE_BUTTON_PROPERTY_1(__VA_ARGS__), \
|
||
|
)
|
||
|
|
||
|
#define US_SIMPLE_BUTTON_BASE(NAME, TITLE, IMAGE, ENABLE, VISIBLE) \
|
||
|
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \
|
||
|
US_PROPERTY_VIEW_ONLY(QString, NAME ## Image, IMAGE) \
|
||
|
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \
|
||
|
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE)
|
||
|
|
||
|
#include "UsViewControl.h"
|
||
|
|
||
|
class UsSimpleButton : public UsViewControl
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
US_PROPERTY_VIEW_ONLY(QString, title, "")
|
||
|
US_PROPERTY_VIEW_ONLY(QString, image, "")
|
||
|
US_PROPERTY_VIEW_ONLY(int, value, 0)
|
||
|
|
||
|
public:
|
||
|
UsSimpleButton(const QString& _title, const QString& _image, bool visible,
|
||
|
bool enable) : UsViewControl(visible, enable)
|
||
|
{
|
||
|
title(_title);
|
||
|
image(_image);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
#endif //USSIMPLEBUTTON_H
|