tahoma2d/toonz/sources/include/toonzqt/stylenameeditor.h

119 lines
2.4 KiB
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
#ifndef STYLENAMEEDITOR_H
#define STYLENAMEEDITOR_H
#include <QDialog>
2016-11-11 02:41:11 +13:00
#include <QWidget>
#include <QStringList>
#include <QPushButton>
2016-03-19 06:57:51 +13:00
class QLineEdit;
class QPushButton;
class TPaletteHandle;
2016-11-11 02:41:11 +13:00
class QGridLayout;
class QFrame;
const int WORD_COLUMN_AMOUNT = 3;
//------------------------------------------------------------
class NewWordDialog : public QDialog {
Q_OBJECT
QLineEdit *m_lineEdit;
public:
NewWordDialog(QWidget *parent = Q_NULLPTR);
QString getName();
};
//------------------------------------------------------------
class WordButton : public QPushButton {
Q_OBJECT
public:
WordButton(const QString &text, QWidget *parent = Q_NULLPTR);
protected:
void contextMenuEvent(QContextMenuEvent *) override;
protected slots:
virtual void onClicked();
void onRemove();
signals:
void clicked(const QString &);
void removeWord(const QString &);
};
//------------------------------------------------------------
class AddWordButton final : public WordButton {
Q_OBJECT
int m_column;
public:
AddWordButton(const int col, QWidget *parent = Q_NULLPTR);
protected slots:
void onClicked() override;
void contextMenuEvent(QContextMenuEvent *) override{};
signals:
void clicked(const int);
};
//------------------------------------------------------------
class EasyInputArea final : public QWidget {
Q_OBJECT
QStringList m_wordList[WORD_COLUMN_AMOUNT];
QGridLayout *m_wordLayout[WORD_COLUMN_AMOUNT];
QFrame *m_wordPanel[WORD_COLUMN_AMOUNT];
void loadList();
void saveList();
void updatePanelSize(int columnId);
public:
EasyInputArea(QWidget *parent = 0);
~EasyInputArea();
protected slots:
void addWordButtonClicked(const int);
void onRemoveWord(const QString &);
signals:
void wordClicked(const QString &);
};
//------------------------------------------------------------
2016-03-19 06:57:51 +13:00
class StyleNameEditor final : public QDialog // singleton
2016-03-19 06:57:51 +13:00
{
2016-06-15 18:43:10 +12:00
Q_OBJECT
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
TPaletteHandle *m_paletteHandle;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
QLineEdit *m_styleName;
QPushButton *m_okButton, *m_applyButton, *m_cancelButton;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
StyleNameEditor(QWidget *parent = 0);
void setPaletteHandle(TPaletteHandle *ph);
2016-03-19 06:57:51 +13:00
protected:
2016-06-19 20:06:29 +12:00
void showEvent(QShowEvent *) override;
void hideEvent(QHideEvent *) override;
void enterEvent(QEvent *) override;
2016-03-19 06:57:51 +13:00
protected slots:
2016-06-15 18:43:10 +12:00
void onStyleSwitched();
void onOkPressed();
void onApplyPressed();
void onCancelPressed();
2016-11-11 02:41:11 +13:00
void onWordClicked(const QString &);
2016-03-19 06:57:51 +13:00
};
#endif