| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #ifndef SURFACEGUI_TASKGEOMFILLSURFACE_H |
| | #define SURFACEGUI_TASKGEOMFILLSURFACE_H |
| |
|
| | #include <GeomFill_FillingStyle.hxx> |
| |
|
| | #include <Gui/DocumentObserver.h> |
| | #include <Gui/TaskView/TaskDialog.h> |
| | #include <Gui/TaskView/TaskView.h> |
| | #include <Mod/Part/Gui/ViewProviderSpline.h> |
| | #include <Mod/Surface/App/FeatureGeomFillSurface.h> |
| |
|
| |
|
| | class QListWidgetItem; |
| |
|
| | namespace Gui |
| | { |
| | class ButtonGroup; |
| | } |
| |
|
| | namespace SurfaceGui |
| | { |
| |
|
| | class Ui_GeomFillSurface; |
| |
|
| | class ViewProviderGeomFillSurface: public PartGui::ViewProviderSpline |
| | { |
| | PROPERTY_HEADER_WITH_OVERRIDE(SurfaceGui::ViewProviderGeomFillSurface); |
| |
|
| | public: |
| | void setupContextMenu(QMenu*, QObject*, const char*) override; |
| | bool setEdit(int ModNum) override; |
| | void unsetEdit(int ModNum) override; |
| | QIcon getIcon() const override; |
| | void highlightReferences(bool on); |
| | }; |
| |
|
| | class GeomFillSurface: public QWidget, public Gui::SelectionObserver, public Gui::DocumentObserver |
| | { |
| | Q_OBJECT |
| |
|
| | protected: |
| | class EdgeSelection; |
| | enum SelectionMode |
| | { |
| | None, |
| | Append, |
| | Remove |
| | }; |
| | SelectionMode selectionMode; |
| | Surface::GeomFillSurface* editedObject; |
| | bool checkCommand; |
| |
|
| | private: |
| | Ui_GeomFillSurface* ui; |
| | ViewProviderGeomFillSurface* vp; |
| | Gui::ButtonGroup* buttonGroup; |
| |
|
| | public: |
| | GeomFillSurface(ViewProviderGeomFillSurface* vp, Surface::GeomFillSurface* obj); |
| | ~GeomFillSurface() override; |
| |
|
| | void open(); |
| | void checkOpenCommand(); |
| | bool accept(); |
| | bool reject(); |
| | void setEditedObject(Surface::GeomFillSurface* obj); |
| |
|
| | protected: |
| | void changeEvent(QEvent* e) override; |
| | void onSelectionChanged(const Gui::SelectionChanges& msg) override; |
| | |
| | void slotUndoDocument(const Gui::Document& Doc) override; |
| | |
| | void slotRedoDocument(const Gui::Document& Doc) override; |
| | |
| | void slotDeletedObject(const Gui::ViewProviderDocumentObject& Obj) override; |
| | void changeFillType(GeomFill_FillingStyle); |
| | void flipOrientation(QListWidgetItem*); |
| |
|
| | private: |
| | void setupConnections(); |
| | void onFillTypeStretchClicked(); |
| | void onFillTypeCoonsClicked(); |
| | void onFillTypeCurvedClicked(); |
| | void onButtonEdgeAddToggled(bool checked); |
| | void onButtonEdgeRemoveToggled(bool checked); |
| | void onListWidgetItemDoubleClicked(QListWidgetItem*); |
| | void onDeleteEdge(); |
| | void onFlipOrientation(); |
| | void clearSelection(); |
| |
|
| | private: |
| | void exitSelectionMode(); |
| | }; |
| |
|
| | class TaskGeomFillSurface: public Gui::TaskView::TaskDialog |
| | { |
| | Q_OBJECT |
| |
|
| | public: |
| | TaskGeomFillSurface(ViewProviderGeomFillSurface* vp, Surface::GeomFillSurface* obj); |
| | void setEditedObject(Surface::GeomFillSurface* obj); |
| |
|
| | public: |
| | void open() override; |
| | bool accept() override; |
| | bool reject() override; |
| |
|
| | QDialogButtonBox::StandardButtons getStandardButtons() const override |
| | { |
| | return QDialogButtonBox::Ok | QDialogButtonBox::Cancel; |
| | } |
| |
|
| | private: |
| | GeomFillSurface* widget; |
| | }; |
| |
|
| | } |
| |
|
| | #endif |
| |
|