MeshLib C++ Docs
Loading...
Searching...
No Matches
MRRibbonRegisterItem.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "exports.h"
4
#include "
MRRibbonMenuItem.h
"
5
6
namespace
MR
7
{
8
9
class
RibbonMenuItemAdder
10
{
11
public
:
13
MRVIEWER_API
RibbonMenuItemAdder
( std::shared_ptr<RibbonMenuItem> item );
14
16
MRVIEWER_API
~RibbonMenuItemAdder
();
17
18
private
:
19
std::shared_ptr<RibbonMenuItem> item_;
20
};
21
22
template
<
typename
T>
23
class
RibbonMenuItemAdderT
:
RibbonMenuItemAdder
24
{
25
public
:
26
static_assert
( std::is_base_of_v<RibbonMenuItem, T> );
27
28
template
<
typename
... Args>
29
RibbonMenuItemAdderT
( Args&&... args ) :
RibbonMenuItemAdder
( std::make_shared<T>( std::forward<Args>( args )... ) )
30
{
31
}
32
};
33
35
#define MR_REGISTER_RIBBON_ITEM(pluginType) \
36
static MR::RibbonMenuItemAdderT<pluginType> ribbonMenuItemAdder##pluginType##_;
37
38
}
//namespace MR
MRRibbonMenuItem.h
MR::RibbonMenuItemAdderT
Definition
MRRibbonRegisterItem.h:24
MR::RibbonMenuItemAdderT::RibbonMenuItemAdderT
RibbonMenuItemAdderT(Args &&... args)
Definition
MRRibbonRegisterItem.h:29
MR::RibbonMenuItemAdder
Definition
MRRibbonRegisterItem.h:10
MR::RibbonMenuItemAdder::RibbonMenuItemAdder
MRVIEWER_API RibbonMenuItemAdder(std::shared_ptr< RibbonMenuItem > item)
calls RibbonSchemaHolder::addItem( item_ = item );
MR::RibbonMenuItemAdder::~RibbonMenuItemAdder
MRVIEWER_API ~RibbonMenuItemAdder()
calls RibbonSchemaHolder::delItem( item_ );
MR
MeshLib
source
MRViewer
MRRibbonRegisterItem.h
Generated by
1.11.0