#include "HYDROGUI_Operation.h"
-#include "HYDROGUI_SplitZonesTool.h"
+#include "HYDROData_SplitToZonesTool.h"
#include "HYDROGUI_Shape.h"
-#include <HYDROData_Calculation.h>
-#include <HYDROData_Zone.h>
+#include <HYDROData_CalculationCase.h>
+#include <HYDROData_Region.h>
class SUIT_ViewManager;
class OCCViewer_ViewManager;
+class HYDROGUI_CalculationDlg;
+class SUIT_DataObject;
class HYDROGUI_CalculationOp : public HYDROGUI_Operation
{
Q_OBJECT
- struct SplittedZone
+ struct Region
{
- QString ZoneName;
- QString PolylineName;
+ QString RegionName;
QColor FillingColor;
QColor BorderColor;
- HYDROGUI_SplitZonesTool::SplitData SplitData;
+ HYDROData_SplitToZonesTool::SplitData SplitData;
HYDROGUI_Shape* Shape;
- Handle(HYDROData_Zone) DataZone;
+ Handle(HYDROData_Region) DataRegion;
- SplittedZone()
+ Region()
: Shape( NULL ),
FillingColor( Qt::green ),
BorderColor( Qt::transparent )
{ }
- ~SplittedZone()
+ ~Region()
{
if ( Shape )
{
}
};
- typedef QList<SplittedZone> SplittedZonesList;
+ typedef QList<Region> RegionsList;
public:
HYDROGUI_CalculationOp( HYDROGUI_Module* theModule, bool theIsEdit );
virtual HYDROGUI_InputPanel* createInputPanel() const;
+ virtual void onApply();
virtual bool processApply( int& theUpdateFlags, QString& theErrorMsg );
protected slots:
+ /**
+ * Add geometry objects selected in the module browser to the calculation case.
+ */
+ void onAddObjects();
+ /**
+ * Remove selected objects from the calculation case.
+ */
+ void onRemoveObjects();
+ /**
+ * Set the given bathymetry merge type to the current zone.
+ */
+ void onSetMergeType( int theMergeType, QString& theBathymetryName );
+ void onMoveZones( SUIT_DataObject* theRegionItem,
+ const QList<SUIT_DataObject*>& theZonesList );
+ void onCreateRegion( const QList<SUIT_DataObject*>& theZonesList );
void onSplitZones();
void onLastViewClosed( SUIT_ViewManager* );
private:
void createPreview();
void closePreview();
+ void updateGeomObjectsList( HYDROGUI_CalculationDlg* thePanel ) const;
private:
bool myIsEdit;
- Handle(HYDROData_Calculation) myEditedObject;
+ Handle(HYDROData_CalculationCase) myEditedObject;
SUIT_ViewManager* myActiveViewManager;
OCCViewer_ViewManager* myPreviewViewManager;
- SplittedZonesList mySplittedZones;
+ RegionsList myRegionsList;
};
#endif