#ifndef SDICTIONARY
#define SDICTIONARY

#include <QWidget>

#include <QWidget>
#include <QCalendarWidget>
#include <QDateEdit>
#include <QPushButton>
#include <QHBoxLayout>
#include <QComboBox>
#include <QLineEdit>
#include <QGroupBox>
#include <QListWidget>
#include <QTabWidget>
#include <QRadioButton>
#include <QButtonGroup>
#include <QTableWidget>
#include <QProgressBar>
#include <QMenuBar>
#include <QSqlDatabase>
#include <QLabel>
#include <QListWidgetItem>
#include "stable.h"

class SDictionary : public QWidget
{
    Q_OBJECT
public:
    SDictionary(QWidget *parent = 0);
    ~SDictionary();

private:
    // MorphereList

    QStringList m_strlistMorphere;
    QStringList m_strlistMorphereko;

    //belows are dictionary components
    QLineEdit *m_pleCCOpen;
    QLineEdit *m_pleCCSave;

    QLineEdit *m_pleCsvToDicOpen;
    QLineEdit *m_pleCsvToDicSave;

    QLineEdit *m_pleAddKeyword;
    QLineEdit *m_pleAddMorphere;
    QLineEdit *m_pleAddPriority;
    QComboBox *m_cbAddMorphere;
    QComboBox *m_cbAddFinalConsonant;

    QLabel *m_plFileName;

    STable *m_pstTable;
    QStringList m_strListHead;

    QString m_strFileName;


private:
    QMenuBar *setMenuWidget();

    QGroupBox *setCostCalculatorWidgets();
    QGroupBox *setCsvToDicWidgets();
    QGroupBox *setAddKeywordWidgets();
    QGroupBox *setFileNameWidgets();

    bool setListMorphere(QStringList& MorphereEN, QStringList& MorphereKO);
    bool setListMorphereHeader(QStringList& MHeader);

public slots:
    void FileNew();
    void FileOpen();
    bool FileSave();
    bool FileSaveAs();
    void FileClose();
    void FileExit();

    void MorphereChanged();
    void AddKeyword();
    void OpenCsv();
    void OpenCalc();
    void ExecCsv();
    void ExecCalc();
};

#endif // SDICTIONARY

