NDEVR
API Documentation
GettingStarted.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: GettingStarted
29Included in API: True
30Author(s): Tyler Parke
31 *-----------------------------------------------------------------------------------------**/
32#pragma once
33#include "DLLInfo.h"
34#include <NDEVR/NDEVRProxyStyle.h>
35#include <QWidget>
36#include <functional>
37namespace Ui
38{
39 class GettingStartedUI;
40}
41namespace NDEVR
42{
43 class WindowManager;
45 class QTModelManager;
46 class ImageView;
53 class NDEVR_API GettingStartedDialog : public QWidget
54 {
55 Q_OBJECT
56 public:
63 GettingStartedDialog(QTModelManager* model_manager, WindowManager* manager, QWidget* parent = nullptr);
72 void resizeEvent(QResizeEvent *resize_event) override;
77 QSize sizeHint() const override;
82 QSize minimumSizeHint() const override;
87 void setTouchThemeVisible(bool is_visible);
92 void addWidget(QWidget* widget);
97 void removeWidget(QWidget* widget);
103 bool event(QEvent* event) override;
108 void paintEvent(QPaintEvent*) override;
113 void showEvent(QShowEvent* event) override;
122 void setLogoVisible(bool is_visible);
127 void addQuickWidget(QWidget* button);
128 public slots:
137 protected:
163 void dragEnterEvent(QDragEnterEvent *event) override;
168 void dropEvent(QDropEvent *event) override;
175 Ui::GettingStartedUI* ui;
176 };
177}
A dialog designed to allow the user to navigate a filesytem and select or create one or more files or...
TouchDesktopThemeButton * m_touch_desktop_theme
The touch/desktop theme toggle button.
void updateHorizontal()
Updates the layout for horizontal orientation.
void addQuickWidget(QWidget *button)
Adds a quick-access widget to the dialog.
QPixmap m_dark_background
The background pixmap for dark theme.
void globalStyleDestroyedSlot()
Slot called when the global style object is destroyed.
void resizeEvent(QResizeEvent *resize_event) override
Handles resize events to adjust the background and layout.
void setTouchThemeVisible(bool is_visible)
Sets whether the touch/desktop theme toggle button is visible.
bool event(QEvent *event) override
Handles events for this dialog.
void addWidget(QWidget *widget)
Adds a widget to the getting started layout.
void updateBackgroundSlot()
Slot that updates the background image when the theme changes.
void dragEnterEvent(QDragEnterEvent *event) override
Handles drag enter events for file drop support.
void updateFont()
Updates the font styling for dialog elements.
void paintEvent(QPaintEvent *) override
Paints the background image and any custom decorations.
void updateTouchMode()
Updates the layout for touch or desktop mode.
void updateSizeLayout()
Updates the layout sizing based on the current window size.
void setLogoVisible(bool is_visible)
Sets whether the company logo is visible.
QPixmap m_light_background
The background pixmap for light theme.
QSize sizeHint() const override
Returns the preferred size hint for layout calculations.
virtual ~GettingStartedDialog()
Destructor.
QSize minimumSizeHint() const override
Returns the minimum size hint for layout calculations.
void showEvent(QShowEvent *event) override
Handles the show event to update the layout on display.
GettingStartedDialog(QTModelManager *model_manager, WindowManager *manager, QWidget *parent=nullptr)
Constructs a GettingStartedDialog.
QTModelManager * m_model_manager
The model manager providing data access.
Ui::GettingStartedUI * ui
The UI form for this dialog.
void ensureBackgroundLoaded(NDEVRLightingTheme theme)
Ensures the background pixmap for the given theme is loaded.
void updateOpacity()
Updates the opacity of the dialog elements.
WindowManager * m_window_manager
The window manager for managing application windows.
void dropEvent(QDropEvent *event) override
Handles drop events for file loading via drag and drop.
bool m_is_logo_visible
Whether the company logo is currently visible.
void removeWidget(QWidget *widget)
Removes a widget from the getting started layout.
A widget that shows a raster image or icon.
Definition ImageView.h:44
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
A button for allowing the user to switch between Desktop/Touch mode which affects the size of all of ...
Definition ThemeButton.h:93
Manages all windows and logic surrounding dialogs and views for displaying and managing any environme...
The primary namespace for the NDEVR SDK.
NDEVRLightingTheme
Enumerates the available UI color themes.
Definition NDEVRTheme.h:46