|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef LEVELSETTINGSPOPUP_H
|
|
Toshihiro Shimizu |
890ddd |
#define LEVELSETTINGSPOPUP_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "toonzqt/dvdialog.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/txshsimplelevel.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/txshpalettelevel.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/txshchildlevel.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/txshsoundlevel.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
shun-iwasawa |
29ceb2 |
#include <qset></qset>
|
|
shun-iwasawa |
29ceb2 |
|
|
Toshihiro Shimizu |
890ddd |
// forward declaration
|
|
Toshihiro Shimizu |
890ddd |
class QLabel;
|
|
Toshihiro Shimizu |
890ddd |
class QComboBox;
|
|
Toshihiro Shimizu |
890ddd |
class QPushButton;
|
|
Toshihiro Shimizu |
890ddd |
class TXshLevel;
|
|
Toshihiro Shimizu |
890ddd |
class TSelection;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
namespace DVGui {
|
|
Toshihiro Shimizu |
890ddd |
class FileField;
|
|
Toshihiro Shimizu |
890ddd |
class DoubleField;
|
|
Toshihiro Shimizu |
890ddd |
class LineEdit;
|
|
Toshihiro Shimizu |
890ddd |
class IntLineEdit;
|
|
Toshihiro Shimizu |
890ddd |
class DoubleLineEdit;
|
|
Toshihiro Shimizu |
890ddd |
class MeasuredDoubleLineEdit;
|
|
Toshihiro Shimizu |
890ddd |
class CheckBox;
|
|
shun-iwasawa |
29ceb2 |
} // namespace DVGui
|
|
shun-iwasawa |
29ceb2 |
|
|
shun-iwasawa |
29ceb2 |
enum SelectedLevelType {
|
|
shun-iwasawa |
481b59 |
None = 0x0,
|
|
shun-iwasawa |
481b59 |
ToonzRaster = 0x1,
|
|
shun-iwasawa |
481b59 |
NonLinearRaster = 0x2,
|
|
shun-iwasawa |
481b59 |
Mesh = 0x4,
|
|
shun-iwasawa |
481b59 |
ToonzVector = 0x8,
|
|
shun-iwasawa |
481b59 |
Palette = 0x10,
|
|
shun-iwasawa |
481b59 |
SubXsheet = 0x20,
|
|
shun-iwasawa |
481b59 |
Sound = 0x40,
|
|
shun-iwasawa |
481b59 |
LinearRaster = 0x80, // EXR files only enables the "Color Space Gamma" field
|
|
shun-iwasawa |
481b59 |
Others = 0x100,
|
|
shun-iwasawa |
481b59 |
|
|
shun-iwasawa |
481b59 |
MultiSelection = 0x1000,
|
|
shun-iwasawa |
481b59 |
HideOnPixelMode = 0x2000,
|
|
shun-iwasawa |
481b59 |
NoSelection = 0x4000,
|
|
shun-iwasawa |
481b59 |
|
|
shun-iwasawa |
481b59 |
Raster = NonLinearRaster | LinearRaster,
|
|
shun-iwasawa |
29ceb2 |
SimpleLevel = ToonzRaster | Raster | Mesh | ToonzVector,
|
|
shun-iwasawa |
29ceb2 |
HasDPILevel = ToonzRaster | Raster | Mesh,
|
|
shun-iwasawa |
29ceb2 |
AllTypes = SimpleLevel | Palette | SubXsheet | Sound
|
|
shun-iwasawa |
29ceb2 |
};
|
|
shun-iwasawa |
29ceb2 |
|
|
shun-iwasawa |
29ceb2 |
struct LevelSettingsValues {
|
|
shun-iwasawa |
29ceb2 |
QString name, path, scanPath, typeStr, imageDpi, imageRes;
|
|
shun-iwasawa |
29ceb2 |
int dpiType = -1, softness = -1, subsampling = -1;
|
|
shun-iwasawa |
29ceb2 |
TPointD dpi = TPointD(0, 0);
|
|
shun-iwasawa |
29ceb2 |
Qt::CheckState doPremulti = Qt::Unchecked, whiteTransp = Qt::Unchecked,
|
|
shun-iwasawa |
29ceb2 |
doAntialias = Qt::Unchecked, isDirty = Qt::Unchecked;
|
|
shun-iwasawa |
481b59 |
double width = 0.0, height = 0.0, colorSpaceGamma = -1.0;
|
|
shun-iwasawa |
29ceb2 |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
// LevelSettingsPopup
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
d1f6c4 |
class LevelSettingsPopup final : public DVGui::Dialog {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Shinya Kitaoka |
120a6e |
|
|
shun-iwasawa |
29ceb2 |
QSet<txshlevelp> m_selectedLevels;</txshlevelp>
|
|
shun-iwasawa |
29ceb2 |
QMap<qwidget *,="" int="" unsigned=""> m_activateFlags;</qwidget>
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
DVGui::LineEdit *m_nameFld;
|
|
Shinya Kitaoka |
120a6e |
DVGui::FileField *m_pathFld;
|
|
Shinya Kitaoka |
120a6e |
DVGui::FileField *m_scanPathFld;
|
|
Shinya Kitaoka |
120a6e |
QLabel *m_typeLabel;
|
|
Shinya Kitaoka |
120a6e |
QComboBox *m_dpiTypeOm;
|
|
Shinya Kitaoka |
120a6e |
DVGui::DoubleLineEdit *m_dpiFld;
|
|
Shinya Kitaoka |
120a6e |
DVGui::CheckBox *m_squarePixCB;
|
|
Shinya Kitaoka |
120a6e |
DVGui::MeasuredDoubleLineEdit *m_widthFld;
|
|
Shinya Kitaoka |
120a6e |
DVGui::MeasuredDoubleLineEdit *m_heightFld;
|
|
Shinya Kitaoka |
120a6e |
QPushButton *m_useCameraDpiBtn;
|
|
Shinya Kitaoka |
120a6e |
QLabel *m_cameraDpiLabel;
|
|
Shinya Kitaoka |
120a6e |
QLabel *m_imageDpiLabel;
|
|
Shinya Kitaoka |
120a6e |
QLabel *m_imageResLabel;
|
|
Shinya Kitaoka |
120a6e |
DVGui::CheckBox *m_doPremultiply;
|
|
Shinya Kitaoka |
120a6e |
DVGui::CheckBox *m_whiteTransp;
|
|
Shinya Kitaoka |
120a6e |
DVGui::CheckBox *m_doAntialias;
|
|
shun-iwasawa |
29ceb2 |
QLabel *m_softnessLabel;
|
|
Shinya Kitaoka |
120a6e |
DVGui::IntLineEdit *m_antialiasSoftness;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
QLabel *m_subsamplingLabel;
|
|
Shinya Kitaoka |
120a6e |
DVGui::IntLineEdit *m_subsamplingFld;
|
|
Toshihiro Shimizu |
890ddd |
|
|
shun-iwasawa |
481b59 |
QLabel *m_colorSpaceGammaLabel;
|
|
shun-iwasawa |
481b59 |
DVGui::DoubleLineEdit *m_colorSpaceGammaFld;
|
|
shun-iwasawa |
481b59 |
|
|
shun-iwasawa |
29ceb2 |
SelectedLevelType getType(TXshLevelP);
|
|
shun-iwasawa |
29ceb2 |
LevelSettingsValues getValues(TXshLevelP);
|
|
shun-iwasawa |
29ceb2 |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
LevelSettingsPopup();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
protected:
|
|
Shinya Kitaoka |
473e70 |
void showEvent(QShowEvent *e) override;
|
|
Shinya Kitaoka |
473e70 |
void hideEvent(QHideEvent *e) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
shun-iwasawa |
29ceb2 |
protected slots:
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void onCastSelectionChanged();
|
|
Shinya Kitaoka |
120a6e |
void onSelectionSwitched(TSelection *oldSelection, TSelection *newSelection);
|
|
Shinya Kitaoka |
120a6e |
void updateLevelSettings();
|
|
Shinya Kitaoka |
120a6e |
void onNameChanged();
|
|
Shinya Kitaoka |
120a6e |
void onPathChanged();
|
|
Shinya Kitaoka |
120a6e |
void onScanPathChanged();
|
|
shun-iwasawa |
e87e08 |
void onDpiTypeChanged(int);
|
|
Shinya Kitaoka |
120a6e |
void onDpiFieldChanged();
|
|
Shinya Kitaoka |
120a6e |
void onWidthFieldChanged();
|
|
Shinya Kitaoka |
120a6e |
void onHeightFieldChanged();
|
|
Shinya Kitaoka |
120a6e |
void onSquarePixelChanged(int);
|
|
Shinya Kitaoka |
120a6e |
void useCameraDpi();
|
|
Shinya Kitaoka |
120a6e |
void onSubsamplingChanged();
|
|
shun-iwasawa |
29ceb2 |
void onDoPremultiplyClicked();
|
|
shun-iwasawa |
29ceb2 |
void onDoAntialiasClicked();
|
|
Shinya Kitaoka |
120a6e |
void onAntialiasSoftnessChanged();
|
|
shun-iwasawa |
29ceb2 |
void onWhiteTranspClicked();
|
|
shun-iwasawa |
481b59 |
void onColorSpaceGammaFieldChanged();
|
|
Shinya Kitaoka |
120a6e |
void onSceneChanged();
|
|
shun-iwasawa |
29ceb2 |
void onPreferenceChanged(const QString &);
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
#endif // LEVELSETTINGSPOPUP_H
|