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.
60 lines
1.8 KiB
60 lines
1.8 KiB
#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
|
|
|