JUCE: ModalCallbackFunction Class Reference

JUCE

Static Public Member Functions | List of all members
ModalCallbackFunction Class Reference
juce_gui_basics » components

This class provides some handy utility methods for creating ModalComponentManager::Callback objects that will invoke a static function with some parameters when a modal component is dismissed. More...

`#include <juce_ModalComponentManager.h>`

## Static Public Member Functions
template<typename CallbackFn >
static ModalComponentManager::Callback * | create (CallbackFn &&fn)
| This is a utility function to create a ModalComponentManager::Callback that will call a callable object. More...
template<typename ParamType >
static ModalComponentManager::Callback * | create (void(*functionToCall)(int, ParamType), ParamType parameterValue)
| This is a utility function to create a ModalComponentManager::Callback that will call a static function with a parameter. More...
template<typename ParamType1 , typename ParamType2 >
static ModalComponentManager::Callback * | withParam (void(*functionToCall)(int, ParamType1, ParamType2), ParamType1 parameterValue1, ParamType2 parameterValue2)
| This is a utility function to create a ModalComponentManager::Callback that will call a static function with two custom parameters. More...
template<class ComponentType >
static ModalComponentManager::Callback * | forComponent (void(*functionToCall)(int, ComponentType *), ComponentType *component)
| This is a utility function to create a ModalComponentManager::Callback that will call a static function with a component. More...
template<class ComponentType , typename ParamType >
static ModalComponentManager::Callback * | forComponent (void(*functionToCall)(int, ComponentType *, ParamType), ComponentType *component, ParamType param)
| Creates a ModalComponentManager::Callback that will call a static function with a component. More...

## Detailed Description

This class provides some handy utility methods for creating ModalComponentManager::Callback objects that will invoke a static function with some parameters when a modal component is dismissed.

## Member Function Documentation

## ◆ create() [1/2]

template<typename CallbackFn >

static ModalComponentManager::Callback * ModalCallbackFunction::create | ( | CallbackFn && | fn | ) |
| static

This is a utility function to create a ModalComponentManager::Callback that will call a callable object.

The function that you supply must take an integer parameter, which is the result code that was returned when the modal component was dismissed.

See also
  ModalComponentManager::Callback

References gl::f, NullCheckedInvocation::invoke(), and gl::result.

## ◆ create() [2/2]

template<typename ParamType >

static ModalComponentManager::Callback * ModalCallbackFunction::create | ( | void(*)(int, ParamType) | functionToCall,
|  | ParamType | parameterValue
| ) |  |
| static

This is a utility function to create a ModalComponentManager::Callback that will call a static function with a parameter.

The function that you supply must take two parameters - the first being an int, which is the result code that was used when the modal component was dismissed, and the second can be a custom type. Note that this custom value will be copied and stored, so it must be a primitive type or a class that provides copy-by-value semantics.

E.g.

static void myCallbackFunction (int modalResult, double customValue)
{
if (modalResult == 1)
doSomethingWith (customValue);
}
Component* someKindOfComp;
...
someKindOfComp->enterModalState (true, ModalCallbackFunction::create (myCallbackFunction, 3.0));
Component
The base class for all JUCE user-interface objects.
Definition: juce_Component.h:37
Component::enterModalState
void enterModalState(bool takeKeyboardFocus=true, ModalComponentManager::Callback *callback=nullptr, bool deleteWhenDismissed=false)
Puts the component into a modal state.
ModalCallbackFunction::create
static ModalComponentManager::Callback * create(CallbackFn &&fn)
This is a utility function to create a ModalComponentManager::Callback that will call a callable obje...
Definition: juce_ModalComponentManager.h:175

See also
  ModalComponentManager::Callback

References gl::r.

## ◆ withParam()

template<typename ParamType1 , typename ParamType2 >

static ModalComponentManager::Callback * ModalCallbackFunction::withParam | ( | void(*)(int, ParamType1, ParamType2) | functionToCall,
|  | ParamType1 | parameterValue1,
|  | ParamType2 | parameterValue2
| ) |  |
| static

This is a utility function to create a ModalComponentManager::Callback that will call a static function with two custom parameters.

The function that you supply must take three parameters - the first being an int, which is the result code that was used when the modal component was dismissed, and the next two are your custom types. Note that these custom values will be copied and stored, so they must be primitive types or classes that provide copy-by-value semantics.

E.g.

static void myCallbackFunction (int modalResult, double customValue1, String customValue2)
{
if (modalResult == 1)
doSomethingWith (customValue1, customValue2);
}
Component* someKindOfComp;
...
someKindOfComp->enterModalState (true, ModalCallbackFunction::create (myCallbackFunction, 3.0, String ("xyz")));
String
The JUCE String class!
Definition: juce_String.h:54

See also
  ModalComponentManager::Callback

References gl::r.

## ◆ forComponent() [1/2]

template<class ComponentType >

static ModalComponentManager::Callback * ModalCallbackFunction::forComponent | ( | void(*)(int, ComponentType *) | functionToCall,
|  | ComponentType * | component
| ) |  |
| static

This is a utility function to create a ModalComponentManager::Callback that will call a static function with a component.

The function that you supply must take two parameters - the first being an int, which is the result code that was used when the modal component was dismissed, and the second can be a Component class. The component will be stored as a WeakReference, so that if it gets deleted before this callback is invoked, the pointer that is passed to the function will be null.

E.g.

static void myCallbackFunction (int modalResult, Slider* mySlider)
{
if (modalResult == 1 && mySlider != nullptr) // (must check that mySlider isn't null in case it was deleted..)
mySlider->setValue (0.0);
}
Component* someKindOfComp;
Slider* mySlider;
...
someKindOfComp->enterModalState (true, ModalCallbackFunction::forComponent (myCallbackFunction, mySlider));
ModalCallbackFunction::forComponent
static ModalComponentManager::Callback * forComponent(void(*functionToCall)(int, ComponentType *), ComponentType *component)
This is a utility function to create a ModalComponentManager::Callback that will call a static functi...
Definition: juce_ModalComponentManager.h:277
Slider
A slider control for changing a value.
Definition: juce_Slider.h:55
Slider::setValue
void setValue(double newValue, NotificationType notification=sendNotificationAsync)
Changes the slider's current value.

See also
  ModalComponentManager::Callback

References gl::r.

## ◆ forComponent() [2/2]

template<class ComponentType , typename ParamType >

static ModalComponentManager::Callback * ModalCallbackFunction::forComponent | ( | void(*)(int, ComponentType *, ParamType) | functionToCall,
|  | ComponentType * | component,
|  | ParamType | param
| ) |  |
| static

Creates a ModalComponentManager::Callback that will call a static function with a component.

The function that you supply must take three parameters - the first being an int, which is the result code that was used when the modal component was dismissed, the second being a Component class, and the third being a custom type (which must be a primitive type or have copy-by-value semantics). The component will be stored as a WeakReference, so that if it gets deleted before this callback is invoked, the pointer that is passed into the function will be null.

E.g.

static void myCallbackFunction (int modalResult, Slider* mySlider, String customParam)
{
if (modalResult == 1 && mySlider != nullptr) // (must check that mySlider isn't null in case it was deleted..)
mySlider->setName (customParam);
}
Component* someKindOfComp;
Slider* mySlider;
...
someKindOfComp->enterModalState (true, ModalCallbackFunction::forComponent (myCallbackFunction, mySlider, String ("hello")));
Component::setName
virtual void setName(const String &newName)
Sets the name of this component.

See also
  ModalComponentManager::Callback

References gl::param, and gl::r.

The documentation for this class was generated from the following file:

- juce_ModalComponentManager.h