-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015 EDF-R&D
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
#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