21#ifndef COLORSCALECONFIGDIALOG_H_
22#define COLORSCALECONFIGDIALOG_H_
24#include <tulip/ColorScale.h>
29class ColorScaleDialog;
32class QTableWidgetItem;
38class TLP_QT_SCOPE ColorScaleConfigDialog :
public QDialog {
43 ColorScaleConfigDialog(
const ColorScale &colorScale = ColorScale(), QWidget *parent =
nullptr);
44 ~ColorScaleConfigDialog()
override;
45 void setColorScale(
const ColorScale &colorScale);
46 const ColorScale &getColorScale()
const;
47 static ColorScale getColorScaleFromImageFile(
const std::string &imageFilePath,
48 bool gradient =
true);
51 void resizeEvent(QResizeEvent *event)
override;
52 void showEvent(QShowEvent *event)
override;
56 void accept()
override;
57 void pressButtonBrowse();
58 void nbColorsValueChanged(
int value);
59 void colorTableItemDoubleClicked(QTableWidgetItem *item);
60 void displaySavedGradientPreview();
61 void displayUserGradientPreview();
62 void saveCurrentColorScale();
63 void deleteSavedColorScale();
64 void reeditSaveColorScale(QListWidgetItem *savedColorScaleItem);
65 void importColorScaleFromImageFile();
66 void importColorScaleFromColorScaleFile();
67 void invertEditedColorScale();
68 void applyGlobalAlphaToColorScale();
71 Ui::ColorScaleDialog *_ui;
73 void setColorScaleFromImage(
const QString &imageFilePath);
75 void loadUserSavedColorScales();
76 void displayGradientPreview(
const QList<QColor> &colorsVector,
bool gradient,
77 QLabel *displayLabel);
78 void importColorScaleFromFile(
const QString ¤tDir);
80 ColorScale colorScale;
81 ColorScale latestColorScale;
82 std::string gradientsImageDirectory;
84 static std::map<QString, std::vector<Color>> tulipImageColorScales;
85 static void loadTulipImageColorScales();
86 static void loadImageColorScalesFromDir(
const QString &colorScalesDir);
87 static std::vector<Color> getColorScaleFromImageFile(
const QString &imageFilePath);