libscratchcpp
A library for C++ based Scratch project players
Toggle main menu visibility
Loading...
Searching...
No Matches
input.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: Apache-2.0
2
3
#pragma once
4
5
#include "
global.h
"
6
#include "spimpl.h"
7
8
namespace
libscratchcpp
9
{
10
11
class
InputValue
;
12
class
Value
;
13
class
Block
;
14
class
InputPrivate;
15
17
class
LIBSCRATCHCPP_EXPORT
Input
18
{
19
public
:
20
enum class
Type
21
{
22
Shadow = 1,
// an editable input, can point to a dropdown menu
23
NoShadow = 2,
// points to another block?
24
ObscuredShadow = 3
// there's a block inside the shadow block
25
};
26
27
Input
(
const
std::string &name, Type type);
28
Input
(
const
Input
&) =
delete
;
29
30
const
std::string &
name
()
const
;
31
32
Type
type
()
const
;
33
34
InputValue
*
primaryValue
();
35
InputValue
*
secondaryValue
();
36
37
void
setPrimaryValue
(
const
Value
&value);
38
void
setSecondaryValue
(
const
Value
&value);
39
40
Block
*
valueBlock
()
const
;
41
const
std::string &
valueBlockId
()
const
;
42
void
setValueBlock
(
Block
*block);
43
void
setValueBlockId
(
const
std::string &
id
);
44
45
bool
pointsToDropdownMenu
()
const
;
46
std::string
selectedMenuItem
()
const
;
47
48
private
:
49
spimpl::unique_impl_ptr<InputPrivate> impl;
50
};
51
52
}
// namespace libscratchcpp
libscratchcpp::Block
The Block class represents a Scratch block.
Definition
block.h:24
libscratchcpp::InputValue
The InputValue class provides methods for the value of an Input.
Definition
inputvalue.h:20
libscratchcpp::Input
The Input class represents a Scratch block input.
Definition
input.h:18
libscratchcpp::Input::pointsToDropdownMenu
bool pointsToDropdownMenu() const
Definition
input.cpp:91
libscratchcpp::Input::setValueBlockId
void setValueBlockId(const std::string &id)
Definition
input.cpp:81
libscratchcpp::Input::Input
Input(const Input &)=delete
libscratchcpp::Input::setSecondaryValue
void setSecondaryValue(const Value &value)
Definition
input.cpp:50
libscratchcpp::Input::primaryValue
InputValue * primaryValue()
Definition
input.cpp:32
libscratchcpp::Input::valueBlock
Block * valueBlock() const
Definition
input.cpp:56
libscratchcpp::Input::secondaryValue
InputValue * secondaryValue()
Definition
input.cpp:38
libscratchcpp::Input::setPrimaryValue
void setPrimaryValue(const Value &value)
Definition
input.cpp:44
libscratchcpp::Input::name
const std::string & name() const
Definition
input.cpp:20
libscratchcpp::Input::type
Type type() const
Definition
input.cpp:26
libscratchcpp::Input::selectedMenuItem
std::string selectedMenuItem() const
Definition
input.cpp:111
libscratchcpp::Input::setValueBlock
void setValueBlock(Block *block)
Definition
input.cpp:75
libscratchcpp::Input::Type
Type
Definition
input.h:21
libscratchcpp::Input::valueBlockId
const std::string & valueBlockId() const
Definition
input.cpp:63
libscratchcpp::Input::Input
Input(const std::string &name, Type type)
Definition
input.cpp:14
libscratchcpp::Value
The Value class represents a Scratch value.
Definition
value.h:22
global.h
LIBSCRATCHCPP_EXPORT
#define LIBSCRATCHCPP_EXPORT
Definition
global.h:17
libscratchcpp
The main namespace of the library.
Definition
asset.h:10
include
scratchcpp
input.h
Generated by
1.17.0