LibreCAD
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
addlinepatterndialog.h
Go to the documentation of this file.
1 #pragma once
2 #include <cad/document/document.h>
3 #include <cmath>
4 
5 #include <QDialog>
6 #include <QHBoxLayout>
7 #include <QComboBox>
8 #include <QDoubleSpinBox>
9 #include <QPushButton>
10 
11 #include <cad/meta/dxflinepattern.h>
12 #include <cad/operations/linepatternops.h>
13 
14 
17 
18 #define SAVE_AS_NEW_TEXT "Save as new"
19 #define EDIT_TEXT "Edit"
20 
21 namespace Ui {
23 }
27 class AddLinePatternDialog : public QDialog {
28  Q_OBJECT
29 
30  public:
36  AddLinePatternDialog(lc::Document_SPtr document, QWidget* parent = 0);
37 
44  AddLinePatternDialog(lc::Document_SPtr document, lc::DxfLinePatternByValue_CSPtr linePattern, QWidget* parent = 0);
45 
46  private slots:
51 
57 
62  void on_saveButton_pressed();
63 
68  void onEditButtonPressed();
69 
74  void generatePreview();
75 
76  protected:
77  Ui::AddLinePatternDialog* ui;
78  QPushButton* editButton;
79  QVBoxLayout* _layout;
80 
81  private:
82  lc::Document_SPtr _document;
83 
84  lc::DxfLinePatternByValue_CSPtr _linePattern;
85  lc::DxfLinePatternByValue_CSPtr _oldLinePattern;
86 };
void on_saveButton_pressed()
Save Save the line pattern in the document and close the dialog.
void onEditButtonPressed()
Edit Replace the original line pattern with the new one and close the dialog.
lc::DxfLinePatternByValue_CSPtr _linePattern
AddLinePatternDialog(lc::Document_SPtr document, QWidget *parent=0)
Create empty dialog.
void on_cancelButton_pressed()
Cancel Close the dialog.
void on_newValueButton_pressed()
Create a new entry for the pattern path.
void generatePreview()
Generate line pattern preview Create a new QPixmap with a preview of the line pattern and add it in t...
lc::DxfLinePatternByValue_CSPtr _oldLinePattern
lc::Document_SPtr _document
Create a dialog with all required fields to create a new line pattern.
Ui::AddLinePatternDialog * ui