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
class
NDEVR_WIDGETS_API
CustomDockButton
:
public
DockItem
52
{
53
Q_OBJECT
54
public
:
55
explicit
CustomDockButton
(
const
TranslatedString
& name,
RibbonArea
ribbon_area,
ContainerWidgetBase
* container =
nullptr
);
56
explicit
CustomDockButton
(
const
TranslatedString
& name,
const
std::function<
void
(
SectionContent
*)>& callback,
RibbonArea
ribbon_area,
ContainerWidgetBase
* container =
nullptr
);
57
explicit
CustomDockButton
(
const
TranslatedString
& name,
const
std::function<
void
(
SectionContent
*)>& callback,
ContainerWidgetBase
* container =
nullptr
);
58
virtual
~CustomDockButton
();
59
void
showButton(
bool
show_dock,
SectionWidget
* section);
60
void
removeButton();
61
virtual
void
setupDialogButton(
Button
* button);
62
void
setCallback(
const
std::function<
void
(
SectionContent
*)>& callback);
63
const
std::function<void(
SectionContent
*)>& callback();
64
protected
:
65
virtual
void
createSectionContent()
override
;
66
signals:
67
void
closedSignal
();
68
protected
slots:
69
void
onCloseButtonClicked();
70
void
_CustomMenuRequested(
const
QPoint& pos);
71
protected
:
72
std::function<void(
SectionContent
*)>
m_callback
;
73
};
74
}
DLLInfo.h
NDEVR_WIDGETS_API
#define NDEVR_WIDGETS_API
Definition
DLLInfo.h:81
NDEVR::Button
Definition
Button.h:60
NDEVR::ContainerWidgetBase
Definition
ContainerWidget.h:85
NDEVR::CustomDockButton
Definition
CustomDockButton.h:52
NDEVR::CustomDockButton::closedSignal
void closedSignal()
NDEVR::CustomDockButton::m_callback
std::function< void(SectionContent *)> m_callback
Definition
CustomDockButton.h:72
NDEVR::DockItem
Definition
DockItem.h:51
NDEVR::SectionContent
Definition
SectionContent.h:47
NDEVR::SectionWidget
Definition
SectionWidget.h:55
NDEVR::TranslatedString
Definition
TranslatedString.h:9
NDEVR
Definition
ACIColor.h:37
NDEVR::RibbonArea
RibbonArea
Definition
RibbonArea.h:68
Widgets
Headers
CustomDockButton.h