API Documentation
Loading...
Searching...
No Matches
CustomDockButton.h
Go to the documentation of this file.
1
/*--------------------------------------------------------------------------------------------
2
Copyright (c) 2019, NDEVR LLC
3
tyler.parke@ndevr.org
4
__ __ ____ _____ __ __ _______
5
| \ | | | __ \ | ___|\ \ / / | __ \
6
| \ | | | | \ \ | |___ \ \ / / | |__) |
7
| . \| | | |__/ / | |___ \ V / | _ /
8
| |\ |_|_____/__|_____|___\_/____| | \ \
9
|__| \__________________________________| \__\
10
11
Subject to the terms of the Enterprise+ Agreement, NDEVR hereby grants
12
Licensee a limited, non-exclusive, non-transferable, royalty-free license
13
(without the right to sublicense) to use the API solely for the purpose of
14
Licensee's internal development efforts to develop applications for which
15
the API was provided.
16
17
The above copyright notice and this permission notice shall be included in all
18
copies or substantial portions of the Software.
19
20
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
21
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
22
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
23
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
24
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25
DEALINGS IN THE SOFTWARE.
26
27
Library: Widgets
28
File: CustomDockButton
29
Included in API: True
30
Author(s): Tyler Parke
31
*-----------------------------------------------------------------------------------------**/
32
#pragma once
33
#include "
DLLInfo.h
"
34
#include <NDEVR/DockItem.h>
35
#include <functional>
36
class
QIcon;
37
class
QString;
38
class
QLabel;
39
40
41
namespace
NDEVR
42
{
43
class
ContainerWidgetBase;
44
class
SectionWidget;
45
class
SectionContent;
46
class
SectionIconTab;
47
class
FloatingWidget;
48
class
TranslatedString;
49
class
Button;
50
/**--------------------------------------------------------------------------------------------------
51
\brief A DockItem that represents a button. These can be placed on the Docking widget to add
52
functionality. For example, in touch mode we use this class to have a "Add View" button.
53
**/
54
class
NDEVR_WIDGETS_API
CustomDockButton
:
public
DockItem
55
{
56
Q_OBJECT
57
public
:
58
explicit
CustomDockButton
(
const
TranslatedString
& name,
RibbonArea
ribbon_area,
ContainerWidgetBase
* container =
nullptr
);
59
explicit
CustomDockButton
(
const
TranslatedString
& name,
const
std::function<
void
(
SectionContent
*)>& callback,
RibbonArea
ribbon_area,
ContainerWidgetBase
* container =
nullptr
);
60
explicit
CustomDockButton
(
const
TranslatedString
& name,
const
std::function<
void
(
SectionContent
*)>& callback,
ContainerWidgetBase
* container =
nullptr
);
61
virtual
~CustomDockButton
();
62
void
showButton
(
bool
show_dock,
SectionWidget
* section);
63
void
removeButton
();
64
virtual
void
setupDialogButton
(
Button
* button);
65
void
setCallback
(
const
std::function<
void
(
SectionContent
*)>& callback);
66
const
std::function<void(
SectionContent
*)>&
callback
();
67
private
:
68
virtual
void
createSectionContent()
override
;
69
signals:
70
void
closedSignal
();
71
private
slots:
72
void
onCloseButtonClicked();
73
void
_CustomMenuRequested(
const
QPoint& pos);
74
private
:
75
std::function<void(
SectionContent
*)> m_callback;
76
};
77
}
DLLInfo.h
NDEVR_WIDGETS_API
#define NDEVR_WIDGETS_API
Definition
DLLInfo.h:59
NDEVR::Button
A core widget that allows the user to click one of many button types.
Definition
Button.h:66
NDEVR::ContainerWidgetBase
The root class that manages a series of SectionContent that can share the same space or lay out in va...
Definition
ContainerWidget.h:66
NDEVR::CustomDockButton
A DockItem that represents a button. These can be placed on the Docking widget to add functionality....
Definition
CustomDockButton.h:55
NDEVR::CustomDockButton::showButton
void showButton(bool show_dock, SectionWidget *section)
NDEVR::CustomDockButton::CustomDockButton
CustomDockButton(const TranslatedString &name, const std::function< void(SectionContent *)> &callback, RibbonArea ribbon_area, ContainerWidgetBase *container=nullptr)
NDEVR::CustomDockButton::setupDialogButton
virtual void setupDialogButton(Button *button)
NDEVR::CustomDockButton::~CustomDockButton
virtual ~CustomDockButton()
NDEVR::CustomDockButton::setCallback
void setCallback(const std::function< void(SectionContent *)> &callback)
NDEVR::CustomDockButton::CustomDockButton
CustomDockButton(const TranslatedString &name, const std::function< void(SectionContent *)> &callback, ContainerWidgetBase *container=nullptr)
NDEVR::CustomDockButton::removeButton
void removeButton()
NDEVR::CustomDockButton::CustomDockButton
CustomDockButton(const TranslatedString &name, RibbonArea ribbon_area, ContainerWidgetBase *container=nullptr)
NDEVR::CustomDockButton::closedSignal
void closedSignal()
NDEVR::CustomDockButton::callback
const std::function< void(SectionContent *)> & callback()
NDEVR::DockItem
The root class that allows iterface with the NDEVR API Widget Docking system.
Definition
DockItem.h:54
NDEVR::SectionContent
The core container for objects using the NDEVR API Widget Docking system. Contains information used t...
Definition
SectionContent.h:51
NDEVR::SectionWidget
SectionWidget manages multiple instances of SectionContent. It displays a title TAB,...
Definition
SectionWidget.h:55
NDEVR::TranslatedString
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
Definition
TranslatedString.h:13
NDEVR
Definition
ACIColor.h:37
NDEVR::RibbonArea
RibbonArea
Requests a ribbon or tab area to be in a certain location and orientation relative to another widget.
Definition
RibbonArea.h:71
Widgets
Headers
CustomDockButton.h