#include "HYDROGUI_ViewerDlg.h"
#include <AIS_InteractiveContext.hxx>
+#include <vector>
class CurveCreator_Widget;
class CurveCreator_ICurve;
class QGroupBox;
class QLineEdit;
class QLabel;
+class QListWidget;
+class HYDROGUI_CurveCreatorProfile;
+class HYDROData_SequenceOfObjects;
+class QListWidgetItem;
class HYDROGUI_ProfileDlg : public HYDROGUI_ViewerDlg
{
Q_OBJECT
public:
- HYDROGUI_ProfileDlg( HYDROGUI_Module* theModule, const QString& theTitle );
+ HYDROGUI_ProfileDlg( HYDROGUI_Module* theModule, const QString& theTitle, bool theSingleProfileMode );
virtual ~HYDROGUI_ProfileDlg();
- void setProfileName( const QString& theName );
- QString getProfileName() const;
+ void setProfileName( const QString& theName );
+ void addProfileName( const QString& theName, const QColor& theColor );
+ void eraseProfile( int index );
+ QStringList getProfileNames() const;
void setProfile( CurveCreator_ICurve* theProfile );
+ void setProfilesPointer(std::vector<HYDROGUI_CurveCreatorProfile*>* theProfilesPointer);
+ void switchToFirstProfile();
+ //void SetSingleProfileMode(bool SingleMode);
+ //bool GetSingleProfileMode() const;
+ void SwitchToProfile(int theIndex);
+ void BlockProfileNameSignals(bool state);
+ int GetProfileSelectionIndex();
void reset();
protected slots:
void processStartedSubOperation( QWidget*, bool );
void processFinishedSubOperation( QWidget* );
+ void ProfileNameChanged(QString);
+ void onProfileIndexChanged();
+ void onAddBtnPressed(bool);
+ void onRemoveBtnPressed(bool);
+ void onSetColorBtnPressed(bool);
+ void onProfileNameChanged(QListWidgetItem* item);
signals:
void createPreview( QString );
void widgetCreated(QWidget*);
void subOperationStarted(QWidget*);
void subOperationFinished(QWidget*);
+ void AddProfiles();
+ void RemoveProfile(int);
protected:
virtual Handle(AIS_Trihedron) trihedron();
private:
QLineEdit* myName;
+ QListWidget* myProfileNames;
+ QPushButton* myAddProfBtn;
+ QPushButton* myRemProfBtn;
+ QPushButton* mySetColorProfBtn;
+public:
CurveCreator_Widget* myEditorWidget;
QGroupBox* myAddElementBox;
+ std::vector<HYDROGUI_CurveCreatorProfile*>* myProfilesPointer;
+private:
+ bool myIsEdit;
+ QString myCurrentName;
};
#endif