LibrePCB Developers Documentation
Loading...
Searching...
No Matches
boardpadpropertiesdialog.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_BOARDPADPROPERTIESDIALOG_H
21#define LIBREPCB_EDITOR_BOARDPADPROPERTIESDIALOG_H
22
23/*******************************************************************************
24 * Includes
25 ******************************************************************************/
27
28#include <QtCore>
29#include <QtWidgets>
30
31/*******************************************************************************
32 * Namespace / Forward Declarations
33 ******************************************************************************/
34namespace librepcb {
35
36class BI_Pad;
37class LengthUnit;
38
39namespace editor {
40
41class UndoStack;
42
43namespace Ui {
44class BoardPadPropertiesDialog;
45}
46
47/*******************************************************************************
48 * Class BoardPadPropertiesDialog
49 ******************************************************************************/
50
54class BoardPadPropertiesDialog final : public QDialog {
55 Q_OBJECT
56
57public:
58 // Constructors / Destructor
62 const LengthUnit& lengthUnit,
63 const QString& settingsPrefix,
64 QWidget* parent = nullptr) noexcept;
65 ~BoardPadPropertiesDialog() noexcept;
66
67 // Operator Overloadings
69 delete;
70
71private: // Methods
72 void updateShapeDependentWidgets(bool checked) noexcept;
73 void updateAbsoluteRadius() noexcept;
74 void updateRelativeRadius() noexcept;
75 void applyRecommendedRadius() noexcept;
76 void addHole() noexcept;
77 void removeSelectedHole() noexcept;
78 void removeAllHoles() noexcept;
79 void updateGeneralTabHoleWidgets() noexcept;
80 void setSelectedHole(int index) noexcept;
81 void applyTypicalThtProperties() noexcept;
82 void applyTypicalSmtProperties() noexcept;
83 void on_buttonBox_clicked(QAbstractButton* button);
84 bool applyChanges() noexcept;
85
86private: // Data
91 QScopedPointer<Ui::BoardPadPropertiesDialog> mUi;
93};
94
95/*******************************************************************************
96 * End of File
97 ******************************************************************************/
98
99} // namespace editor
100} // namespace librepcb
101
102#endif
A pad in a board (either standalone or from a footprint)
Definition bi_pad.h:49
The LengthUnit class represents a length unit (millimeters, inches,...) and provides some useful meth...
Definition lengthunit.h:62
The Path class represents a list of vertices connected by straight lines or circular arc segments.
Definition path.h:59
The BoardPadPropertiesDialog class.
Definition boardpadpropertiesdialog.h:54
PadHoleList mHoles
Definition boardpadpropertiesdialog.h:89
QScopedPointer< Ui::BoardPadPropertiesDialog > mUi
Definition boardpadpropertiesdialog.h:91
void applyTypicalThtProperties() noexcept
Definition boardpadpropertiesdialog.cpp:386
void on_buttonBox_clicked(QAbstractButton *button)
Definition boardpadpropertiesdialog.cpp:394
void applyTypicalSmtProperties() noexcept
Definition boardpadpropertiesdialog.cpp:390
void addHole() noexcept
Definition boardpadpropertiesdialog.cpp:323
int mSelectedHoleIndex
Definition boardpadpropertiesdialog.h:90
void setSelectedHole(int index) noexcept
Definition boardpadpropertiesdialog.cpp:369
Path mAutoCustomOutline
Definition boardpadpropertiesdialog.h:92
UndoStack & mUndoStack
Definition boardpadpropertiesdialog.h:88
void updateRelativeRadius() noexcept
Definition boardpadpropertiesdialog.cpp:305
void updateShapeDependentWidgets(bool checked) noexcept
Definition boardpadpropertiesdialog.cpp:272
void updateAbsoluteRadius() noexcept
Definition boardpadpropertiesdialog.cpp:295
bool applyChanges() noexcept
Definition boardpadpropertiesdialog.cpp:413
BoardPadPropertiesDialog(const BoardPadPropertiesDialog &other)=delete
void applyRecommendedRadius() noexcept
Definition boardpadpropertiesdialog.cpp:316
void removeSelectedHole() noexcept
Definition boardpadpropertiesdialog.cpp:333
void updateGeneralTabHoleWidgets() noexcept
Definition boardpadpropertiesdialog.cpp:349
BI_Pad & mPad
Definition boardpadpropertiesdialog.h:87
void removeAllHoles() noexcept
Definition boardpadpropertiesdialog.cpp:342
The UndoStack class holds UndoCommand objects and provides undo/redo commands.
Definition undostack.h:106
Definition occmodel.cpp:77