git-svn-id: svn://db.shs.com.ru/libs@586 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
113
test/qad/touch_widgets/touchbuttframe.h
Normal file
113
test/qad/touch_widgets/touchbuttframe.h
Normal file
@@ -0,0 +1,113 @@
|
||||
#ifndef TOUCHBUTTFRAME_H
|
||||
#define TOUCHBUTTFRAME_H
|
||||
|
||||
#include <QFrame>
|
||||
#include <QBoxLayout>
|
||||
#include <QDebug>
|
||||
#include "touchbutton.h"
|
||||
|
||||
|
||||
class TouchButtFrame: public QFrame
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QColor colorYes READ colorYes WRITE setColorYes)
|
||||
Q_PROPERTY(QColor colorNo READ colorNo WRITE setColorNo)
|
||||
Q_PROPERTY(QColor colorGray READ colorGray WRITE setColorGray)
|
||||
Q_PROPERTY(QColor colorDown READ colorDown WRITE setColorDown)
|
||||
Q_PROPERTY(QStringList buttons READ buttons WRITE setButtons)
|
||||
Q_PROPERTY(int currentButton READ currentButton WRITE setCurrentButton)
|
||||
Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
|
||||
Q_PROPERTY(int clickID READ clickID WRITE setClickID)
|
||||
Q_PROPERTY(int setID READ setID WRITE setSetID)
|
||||
|
||||
public:
|
||||
TouchButtFrame(QWidget * parent = 0, Qt::Orientation orientation = Qt::Horizontal);
|
||||
|
||||
int clickID() const {return id_click;}
|
||||
int setID() const {return id_set;}
|
||||
|
||||
void setButtons(const QStringList & captions);
|
||||
QStringList buttons();
|
||||
TouchButton * button(int index);
|
||||
int buttonsCount() const {return lay->count();}
|
||||
int currentButton();
|
||||
Qt::Orientation orientation() const {if (lay->direction() == 0) return Qt::Horizontal; else return Qt::Vertical;}
|
||||
QColor colorYes() const {return colg;}
|
||||
QColor colorNo() const {return colr;}
|
||||
QColor colorGray() const {return colw;}
|
||||
QColor colorDown() const {return colp;}
|
||||
|
||||
void setCurrentButton(int index);
|
||||
void setColorYes(QColor col) {colg = col; resetColors();}
|
||||
void setColorNo(QColor col) {colr = col; resetColors();}
|
||||
void setColorGray(QColor col) {colw = col; resetColors();}
|
||||
void setColorDown(QColor col) {colp = col; resetColors();}
|
||||
void setOrientation(Qt::Orientation orientation) {if (orientation == Qt::Horizontal) lay->setDirection(QBoxLayout::LeftToRight); else lay->setDirection(QBoxLayout::TopToBottom);}
|
||||
|
||||
private:
|
||||
void resetColors();
|
||||
void deleteButtons();
|
||||
void addButton(const QString & caption);
|
||||
|
||||
int id_click, id_set;
|
||||
QColor colr, colg, colw, colp;
|
||||
QBoxLayout * lay;
|
||||
//int count;
|
||||
|
||||
private slots:
|
||||
void butt_click(int index) {emit clicked(index); emit clickedID(id_click, index);}
|
||||
void butt_toggle(int index, bool checked) {emit toggled(index, checked); emit toggledID(id_click, index, checked);}
|
||||
|
||||
public slots:
|
||||
void enable() {setEnabled(true);}
|
||||
void disable() {setAllButtonsGray(); setEnabled(false);}
|
||||
|
||||
void setClickID(int id) {id_click = id;}
|
||||
void setSetID(int id) {id_set = id;}
|
||||
|
||||
|
||||
void setButtonChecked(int index) {if (button(index) != 0) button(index)->setChecked(true);}
|
||||
void setButtonUnchecked(int index) {if (button(index) != 0) button(index)->setChecked(false);}
|
||||
void setButtonState(int index, TouchButton::State state) {if (button(index) != 0) button(index)->setState(state);}
|
||||
void setButtonYes(int index) {if (button(index) != 0) button(index)->setStateYes();}
|
||||
void setButtonNo(int index) {if (button(index) != 0) button(index)->setStateNo();}
|
||||
void setButtonGray(int index) {if (button(index) != 0) button(index)->setStateGray();}
|
||||
void setAllButtonsState(TouchButton::State state) {for (int i = 0; i < buttonsCount(); ++i) button(i)->setState(state);}
|
||||
void setAllButtonsYes() {for (int i = 0; i < buttonsCount(); ++i) button(i)->setStateYes();}
|
||||
void setAllButtonsNo() {for (int i = 0; i < buttonsCount(); ++i) button(i)->setStateNo();}
|
||||
void setAllButtonsGray() {for (int i = 0; i < buttonsCount(); ++i) button(i)->setStateGray();}
|
||||
|
||||
void hideButton(int index) {if (button(index) != 0) button(index)->hide();}
|
||||
void showButton(int index) {if (button(index) != 0) button(index)->show();}
|
||||
void enableButton(int index) {if (button(index) != 0) button(index)->enable();}
|
||||
void disableButton(int index) {if (button(index) != 0) button(index)->disable();}
|
||||
|
||||
|
||||
void enableID(int set_id) {if (set_id == id_set) enable();}
|
||||
void disableID(int set_id) {if (set_id == id_set) disable();}
|
||||
|
||||
void setButtonCheckedID(int set_id, int index) {if (set_id == id_set) setButtonChecked(index);}
|
||||
void setButtonUncheckedID(int set_id, int index) {if (set_id == id_set) setButtonUnchecked(index);}
|
||||
void setButtonStateID(int set_id, int index, TouchButton::State state) {if (set_id == id_set) setButtonState(index, state);}
|
||||
void setButtonYesID(int set_id, int index) {if (set_id == id_set) setButtonYes(index);}
|
||||
void setButtonNoID(int set_id, int index) {if (set_id == id_set) setButtonNo(index);}
|
||||
void setButtonGrayID(int set_id, int index) {if (set_id == id_set) setButtonGray(index);}
|
||||
void setAllButtonsStateID(int set_id, TouchButton::State state) {if (set_id == id_set) setAllButtonsState(state);}
|
||||
void setAllButtonsYesID(int set_id) {if (set_id == id_set) setAllButtonsYes();}
|
||||
void setAllButtonsNoID(int set_id) {if (set_id == id_set) setAllButtonsNo();}
|
||||
void setAllButtonsGrayID(int set_id) {if (set_id == id_set) setAllButtonsGray();}
|
||||
|
||||
void hideButtonID(int set_id, int index) {if (set_id == id_set) hideButton(index);}
|
||||
void showButtonID(int set_id, int index) {if (set_id == id_set) showButton(index);}
|
||||
void enableButtonID(int set_id, int index) {if (set_id == id_set) enableButton(index);}
|
||||
void disableButtonID(int set_id, int index) {if (set_id == id_set) disableButton(index);}
|
||||
|
||||
signals:
|
||||
void clicked(int index);
|
||||
void toggled(int index, bool checked);
|
||||
void clickedID(int id, int index);
|
||||
void toggledID(int id, int index, bool checked);
|
||||
|
||||
};
|
||||
|
||||
#endif // TOUCHBUTTFRAME_H
|
||||
Reference in New Issue
Block a user