-// Copyright (C) 2013-2015 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2013-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "CurveCreator.hxx"
#include "CurveCreator_ICurve.hxx"
-#include <QWidget>
-#include <QMap>
-
-#include <OCCViewer_ViewWindow.h>
#include <SUIT_ViewWindow.h>
+#include <OCCViewer_ViewWindow.h>
+
#include <AIS_InteractiveObject.hxx>
#include <AIS_InteractiveContext.hxx>
-
+#include <AIS_ListOfInteractive.hxx>
#include <Geom_Curve.hxx>
#include <V3d_View.hxx>
#include <gp_Pnt.hxx>
-#include <TopoDS_Vertex.hxx> // TODO - remove
+
+#include <QWidget>
+#include <QMap>
+
+class CurveCreator_TableView;
+class CurveCreator_TreeView;
+class CurveCreator_NewSectionDlg;
class OCCViewer_Viewer;
class OCCViewer_ViewPort3d;
-class AIS_ListOfInteractive;
-
class QAction;
class QPixmap;
-class CurveCreator_TableView;
-class CurveCreator_TreeView;
-class CurveCreator_NewSectionDlg;
class CURVECREATOR_EXPORT CurveCreator_Widget : public QWidget
{
CurveCreator_ICurve *theCurve,
const int theActionFlags = NoFlags,
const QStringList& theCoordTitles = QStringList(),
- Qt::WindowFlags fl=0,
- int theLocalPointRowLimit = 20);
+ Qt::WindowFlags fl=0);
// OCC viewer manipulation
void setOCCViewer( OCCViewer_Viewer* theViewer );
void SetViewer2DMode(const bool To2D);
+ void setSelectedPoints( const CurveCreator_ICurve::SectionToPointList& =
+ CurveCreator_ICurve::SectionToPointList() );
+
+ void updateLocalPointView();
+ void setLocalPointContext( const bool theOpen, const bool isUpdateTable = false );
+
signals:
void selectionChanged();
void subOperationStarted( QWidget*, bool );
void subOperationFinished( QWidget* );
public slots:
-
-protected slots:
void onAdditionMode(bool checked);
void onModificationMode(bool checked);
void onDetectionMode(bool checked);
void onModifySection();
void onCancelSection();
void onJoin();
+ void onBringTogether();
void onRemove();
void onClearAll();
void onJoinAll();
CLEAR_ALL_ID,
SEPARATOR_ID,
MODIFICATION_MODE_ID,
- DETECTION_MODE_ID
+ DETECTION_MODE_ID,
+ BRING_TOGETHER_ID
};
+public:
+ QAction* getAction(ActionId theId);
+ QAction* getAction(ActionMode theMode);
+
private:
OCCViewer_Viewer* getOCCViewer();
QAction* createAction( ActionId theId, const QString& theName, const QPixmap& theImage,
const QString& theToolTip, const QKeySequence& theShortcut );
- QAction* getAction(ActionId theId);
- QAction* getAction(ActionMode theMode);
void updateActionsStates();
void updateUndoRedo();
void insertPointToSelectedSegment( const int theXPosition,
const int theYPosition );
void moveSelectedPoints( const int theXPosition, const int theYPosition );
- void updateLocalPointView();
- void setLocalPointContext( const bool theOpen, const bool isUpdateTable = false );
void setDragStarted( const bool theState, const QPoint& thePoint = QPoint() );
void getSelectedPoints( CurveCreator_ICurve::SectionToPointList& thePoints );
- void setSelectedPoints( const CurveCreator_ICurve::SectionToPointList& =
- CurveCreator_ICurve::SectionToPointList() );
void stopActionMode();