NDEVR
API Documentation
DeploymentSegmentTable.h
1/*--------------------------------------------------------------------------------------------
2Copyright (c) 2019, NDEVR LLC
3tyler.parke@ndevr.org
4 __ __ ____ _____ __ __ _______
5 | \ | | | __ \ | ___|\ \ / / | __ \
6 | \ | | | | \ \ | |___ \ \ / / | |__) |
7 | . \| | | |__/ / | |___ \ V / | _ /
8 | |\ |_|_____/__|_____|___\_/____| | \ \
9 |__| \__________________________________| \__\
10
11Subject to the terms of the Enterprise+ Agreement, NDEVR hereby grants
12Licensee a limited, non-exclusive, non-transferable, royalty-free license
13(without the right to sublicense) to use the API solely for the purpose of
14Licensee's internal development efforts to develop applications for which
15the API was provided.
16
17The above copyright notice and this permission notice shall be included in all
18copies or substantial portions of the Software.
19
20THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
21INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
22PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
23FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
24OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25DEALINGS IN THE SOFTWARE.
26
27Library: NDEVR
28File: DeploymentSegmentTable
29Included in API: True
30Author(s): Tyler Parke
31 *-----------------------------------------------------------------------------------------**/
32#pragma once
33#include <NDEVR/QTDesignObject.h>
34#if NDEVR_DEPLOYMENT
35#include <NDEVR/QCustomTableWidget.h>
36#include <NDEVR/Pointer.h>
37namespace NDEVR
38{
39 class Deployment;
40 class Time;
46 class NDEVR_API DeploymentSegmentTable : public QCustomTableWidget
47 {
48 Q_OBJECT
49 public:
53 enum DeploymentSectionInfo
54 {
55 e_quality_icon
56 , e_heading
57 , e_inclination
58 , e_depth
59 , e_deviation
60 , e_percent_deviation
61 , e_time
62 , e_x
63 , e_y
64 , e_z
65 , e_edit_reading
66 , e_heading_size
67 };
72 explicit DeploymentSegmentTable(QWidget* parent = nullptr);
78 explicit DeploymentSegmentTable(const DynamicPointer<QTDesignObject>& deployment, QWidget* parent = nullptr);
82 virtual ~DeploymentSegmentTable();
88 TranslatedString HeadingTitle(DeploymentSectionInfo);
94 TranslatedString HeadingTooltip(DeploymentSectionInfo);
101 bool headingVisible(DeploymentSectionInfo info, const Deployment& actual);
111 String headingInfo(DeploymentSectionInfo info, uint04 row, const Deployment& actual, const Deployment& plan, const Matrix<fltp08>& transform);
116 void setIsReport(bool is_report);
121 void setDeployment(const DynamicPointer<QTDesignObject>& deployment);
126 void setShowQuality(bool show_quality);
131 void setShowTime(bool show_time);
132 protected:
136 void setup();
137 protected slots:
141 void updateTableView();
142 protected:
143 DynamicPointer<QTDesignObject> m_deployment;
144 QTResourceListener* m_units_listener;
145 bool m_is_report = false;
146 bool m_show_quality = true;
147 bool m_show_time = true;
148 };
149}
150
151#endif
Provides a standard way to show table data within the application.
A ResourceListener which will always be executed on the main UI thread and can be tied to a Qt Object...
Definition QTTools.h:493
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:62
The primary namespace for the NDEVR SDK.
@ e_time
Time measurement (e.g., seconds, hours).
Definition Unit.h:27