Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef PSDSETTINGSPOPUP_H
Toshihiro Shimizu 890ddd
#define PSDSETTINGSPOPUP_H
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "toonzqt/dvdialog.h"
Toshihiro Shimizu 890ddd
#include "tfilepath.h"
Toshihiro Shimizu 890ddd
#include "../common/psdlib/psd.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include <qbuttongroup></qbuttongroup>
Toshihiro Shimizu 890ddd
#include <qtextedit></qtextedit>
Toshihiro Shimizu 890ddd
//#include <qtreewidget></qtreewidget>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
// forward declaration
Toshihiro Shimizu 890ddd
class QPushButton;
Toshihiro Shimizu 890ddd
class QComboBox;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
namespace DVGui {
Toshihiro Shimizu 890ddd
class CheckBox;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//=============================================================================
Toshihiro Shimizu 890ddd
// PsdSettingsPopup
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka d1f6c4
class PsdSettingsPopup final : public DVGui::Dialog {
Shinya Kitaoka 120a6e
  Q_OBJECT
Shinya Kitaoka 120a6e
  // Loading Mode
Shinya Kitaoka 120a6e
  // FLAT: psd flat image
Shinya Kitaoka 120a6e
  // FRAMES: all psd layers are frames of a single Tlevel
Shinya Kitaoka 120a6e
  // COLUMNS: each psd layer is a TLevel with only one frame.
Shinya Kitaoka 120a6e
  // FOLDER: each psd layer is a TLevel and
Shinya Kitaoka d1f6c4
  //				 each psd folder is a TLevel where each psd
Shinya Kitaoka d1f6c4
  // layer
Shinya Kitaoka d1f6c4
  // contained
Shinya Kitaoka 38fd86
  // into folder is a frame of TLevel
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  enum Mode { FLAT, FRAMES, COLUMNS, FOLDER };
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  TFilePath m_path;
Shinya Kitaoka 120a6e
  std::vector<tfilepath> m_psdLevelPaths;</tfilepath>
Shinya Kitaoka 120a6e
  std::vector<int> loadedLevelId;</int>
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  Mode m_mode;
Shinya Kitaoka 120a6e
  QPushButton *m_okBtn;
Shinya Kitaoka 120a6e
  QPushButton *m_cancelBtn;
shun_iwasawa a4bcc9
  QComboBox *m_loadMode, *m_levelNameType;
Shinya Kitaoka 120a6e
  DVGui::CheckBox *m_createSubXSheet;
Shinya Kitaoka 120a6e
  QButtonGroup *m_psdFolderOptions;
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  // QTreeWidget *m_psdTree;	// per adesso non serve. Servirà in un secondo
Shinya Kitaoka 120a6e
  // momento quando implemento la scelta dei livelli
Shinya Kitaoka 120a6e
  // da caricare
Shinya Kitaoka 120a6e
  QTextEdit *m_modeDescription;
Shinya Kitaoka 120a6e
  TPSDParser *m_psdparser;
Shinya Kitaoka 120a6e
  QLabel *m_filename;   // Name
Shinya Kitaoka 120a6e
  QLabel *m_parentDir;  // Path
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public slots:
Shinya Kitaoka 120a6e
  void onOk();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  PsdSettingsPopup();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void setPath(const TFilePath &path);
Shinya Kitaoka 120a6e
  int getPsdLevelCount() { return m_psdLevelPaths.size(); };
Shinya Kitaoka 120a6e
  TFilePath getPsdPath(int levelIndex);
Shinya Kitaoka 120a6e
  TFilePath getPsdFramePath(int levelIndex, int frameIndex);
Shinya Kitaoka 120a6e
  int getFramesCount(int levelIndex);
Shinya Kitaoka 120a6e
  bool isFolder(int levelIndex);
Shinya Kitaoka 120a6e
  bool isSubFolder(int levelIndex, int frameIndex);
Shinya Kitaoka 120a6e
  bool subxsheet();
shun_iwasawa a4bcc9
  int levelNameType();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  int getFolderOption();
Shinya Kitaoka 120a6e
  int getSubfolderLevelIndex(int psdLevelIndex, int frameIndex);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Shinya Kitaoka 120a6e
  void doPsdParser();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
protected slots:
shun-iwasawa 199e29
  void onModeChanged();
Shinya Kitaoka 120a6e
  void onFolderOptionChange(int id);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
#endif  // PsdSettingsPopup_H