LibrePCB Developers Documentation
boardviapropertiesdialog.h
Go to the documentation of this file.
1/*
2 * LibrePCB - Professional EDA for everyone!
3 * Copyright (C) 2013 LibrePCB Developers, see AUTHORS.md for contributors.
4 * https://librepcb.org/
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef LIBREPCB_EDITOR_BOARDVIAPROPERTIESDIALOG_H
21#define LIBREPCB_EDITOR_BOARDVIAPROPERTIESDIALOG_H
22
23/*******************************************************************************
24 * Includes
25 ******************************************************************************/
26#include <QtCore>
27#include <QtWidgets>
28
29/*******************************************************************************
30 * Namespace / Forward Declarations
31 ******************************************************************************/
32namespace librepcb {
33
34class BI_Via;
35class LengthUnit;
36class Project;
37
38namespace editor {
39
40class UndoCommand;
41class UndoStack;
42
43namespace Ui {
44class BoardViaPropertiesDialog;
45}
46
47/*******************************************************************************
48 * Class BoardViaPropertiesDialog
49 ******************************************************************************/
50
54class BoardViaPropertiesDialog final : public QDialog {
55 Q_OBJECT
56
57public:
58 // Constructors / Destructor
61 explicit BoardViaPropertiesDialog(Project& project, BI_Via& via,
62 UndoStack& undoStack,
63 const LengthUnit& lengthUnit,
64 const QString& settingsPrefix,
65 QWidget* parent) noexcept;
67
68private:
69 // Private Methods
70 void buttonBoxClicked(QAbstractButton* button) noexcept;
71 void accept();
72 bool applyChanges() noexcept;
73
74 // General
77 QScopedPointer<Ui::BoardViaPropertiesDialog> mUi;
79};
80
81/*******************************************************************************
82 * End of File
83 ******************************************************************************/
84
85} // namespace editor
86} // namespace librepcb
87
88#endif
The BI_Via class.
Definition: bi_via.h:44
The LengthUnit class represents a length unit (millimeters, inches,...) and provides some useful meth...
Definition: lengthunit.h:60
The Project class represents a whole (opened) project with all its content.
Definition: project.h:71
The BoardViaPropertiesDialog class.
Definition: boardviapropertiesdialog.h:54
UndoStack & mUndoStack
Definition: boardviapropertiesdialog.h:78
BoardViaPropertiesDialog(const BoardViaPropertiesDialog &other)=delete
Project & mProject
Definition: boardviapropertiesdialog.h:75
QScopedPointer< Ui::BoardViaPropertiesDialog > mUi
Definition: boardviapropertiesdialog.h:77
void accept()
Definition: boardviapropertiesdialog.cpp:151
bool applyChanges() noexcept
Definition: boardviapropertiesdialog.cpp:157
~BoardViaPropertiesDialog() noexcept
Definition: boardviapropertiesdialog.cpp:123
BI_Via & mVia
Definition: boardviapropertiesdialog.h:76
void buttonBoxClicked(QAbstractButton *button) noexcept
Definition: boardviapropertiesdialog.cpp:131
The UndoStack class holds UndoCommand objects and provides undo/redo commands.
Definition: undostack.h:106
Definition: occmodel.cpp:77