SCENE C++ API
2.1.0
Plugin_API
plugin_api
lsscenecontext.h
1
#pragma once
2
3
#include <core_api/lsglobaldefinitions.h>
4
#include <core_api/lsappcontext.h>
5
#include <core_api/lsworkspace.h>
6
#include <core_api/lssignal.h>
7
#include <core_api/lsworkspaceevent.h>
8
9
#include <plugin_api/lsview.h>
10
#include <plugin_api/lsviewevent.h>
11
12
namespace
SCENE_API {
13
14
// Forward declarations
15
class
LSSceneContext_Implementation;
16
20
class
LSSceneContext
:
public
LSAppContext
21
{
22
LS_UNCOPYABLE(
LSSceneContext
)
23
24
public
:
25
34
PLUGIN_API_EXPORT
ref_ptr<LSWorkspace>
getSceneWorkspace
()
const
;
35
39
PLUGIN_API_EXPORT
LSResult::Result
openSceneWorkspace
();
40
45
PLUGIN_API_EXPORT
LSResult::Result
openSceneWorkspace
(
LSString
path);
46
47
51
PLUGIN_API_EXPORT
ref_ptr<LSView>
getActiveViewer
()
const
;
52
56
PLUGIN_API_EXPORT
LSPod<std::vector<ref_ptr<LSView>
> >
getViews
()
const
;
57
61
PLUGIN_API_EXPORT
LSResult::Result
createView
(
LSView::ViewType
type,
ref_ptr<LSObject>
object
,
ref_ptr<LSView>
& viewOut);
62
66
PLUGIN_API_EXPORT
LSResult::Result
createOffscreenView
(
LSView::ViewType
type,
ref_ptr<LSObject>
object
,
unsigned
int
sizeX,
unsigned
int
sizeY,
ref_ptr<LSView>
& viewOut);
67
71
PLUGIN_API_EXPORT
void
closeView
(
LSView
& view);
72
73
79
PLUGIN_API_EXPORT
bool
bindTask
(
int
resourceID,
LSString
taskID);
80
83
PLUGIN_API_EXPORT HANDLE
registerToolbar
(
int
resourceID,
LSString
toolbarName);
84
85
89
PLUGIN_API_EXPORT
LSString
getGUILanguage
()
const
;
90
91
93
94
97
LSSignal<ref_ptr<LSViewEvent>
>
onViewCreated
;
98
101
LSSignal<ref_ptr<LSViewEvent>
>
onViewClosed
;
102
105
LSSignal<ref_ptr<LSViewEvent>
>
onViewActivated
;
106
109
LSSignal<ref_ptr<LSWorkspaceEvent>
>
onSceneWorkspaceOpened
;
110
113
LSSignal<ref_ptr<LSWorkspaceEvent>
>
onSceneWorkspaceClosed
;
114
116
117
118
private
:
119
LS_INTERFACE(
LSSceneContext
,
LSAppContext
)
120
};
121
122
}