Commit 1bc4c08 1 parent 5c26b8c commit 1bc4c08 Copy full SHA for 1bc4c08
File tree 4 files changed +33
-1
lines changed
Source/CesiumEditor/Private
4 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -172,6 +172,9 @@ void CesiumIonServerManager::SetCurrentServer(UCesiumIonServer* pServer) {
172
172
if (pSettings) {
173
173
pSettings->CurrentCesiumIonServer = pServer;
174
174
pSettings->Save ();
175
+ }
176
+
177
+ if (UCesiumIonServer::GetServerForNewObjects () != pServer) {
175
178
UCesiumIonServer::SetServerForNewObjects (pServer);
176
179
CurrentServerChanged.Broadcast ();
177
180
}
Original file line number Diff line number Diff line change 6
6
#include " Editor.h"
7
7
#include " PropertyCustomizationHelpers.h"
8
8
9
+ CesiumIonServerSelector::CesiumIonServerSelector () {
10
+ FCesiumEditorModule::serverManager ().CurrentServerChanged .AddRaw (
11
+ this ,
12
+ &CesiumIonServerSelector::OnCurrentServerChanged);
13
+ }
14
+
15
+ CesiumIonServerSelector::~CesiumIonServerSelector () {
16
+ FCesiumEditorModule::serverManager ().CurrentServerChanged .RemoveAll (this );
17
+ }
18
+
9
19
void CesiumIonServerSelector::Construct (const FArguments& InArgs) {
10
20
ChildSlot
11
21
[SNew (SHorizontalBox) +
12
22
SHorizontalBox::Slot ().FillWidth (1 .0f ).VAlign (
13
23
EVerticalAlignment::VAlign_Center)
14
- [SNew ( SComboBox<TWeakObjectPtr<UCesiumIonServer>>)
24
+ [SAssignNew (_pCombo, SComboBox<TWeakObjectPtr<UCesiumIonServer>>)
15
25
.OptionsSource (
16
26
&FCesiumEditorModule::serverManager ().GetServerList ())
17
27
.OnGenerateWidget (
@@ -98,3 +108,10 @@ void CesiumIonServerSelector::OnBrowseForServer() {
98
108
Objects.Add (FCesiumEditorModule::serverManager ().GetCurrentServer ());
99
109
GEditor->SyncBrowserToObjects (Objects);
100
110
}
111
+
112
+ void CesiumIonServerSelector::OnCurrentServerChanged () {
113
+ if (this ->_pCombo ) {
114
+ this ->_pCombo ->SetSelectedItem (
115
+ FCesiumEditorModule::serverManager ().GetCurrentServer ());
116
+ }
117
+ }
Original file line number Diff line number Diff line change @@ -11,6 +11,9 @@ class CesiumIonServerSelector : public SCompoundWidget {
11
11
SLATE_BEGIN_ARGS (CesiumIonServerSelector) {}
12
12
SLATE_END_ARGS ()
13
13
14
+ CesiumIonServerSelector ();
15
+ virtual ~CesiumIonServerSelector ();
16
+
14
17
void Construct (const FArguments& InArgs);
15
18
16
19
private:
@@ -23,4 +26,7 @@ class CesiumIonServerSelector : public SCompoundWidget {
23
26
TWeakObjectPtr<UCesiumIonServer> InItem,
24
27
ESelectInfo::Type InSeletionInfo);
25
28
void OnBrowseForServer ();
29
+ void OnCurrentServerChanged ();
30
+
31
+ TSharedPtr<SComboBox<TWeakObjectPtr<UCesiumIonServer>>> _pCombo;
26
32
};
Original file line number Diff line number Diff line change @@ -130,6 +130,12 @@ void CesiumPanel::OnServerChanged() {
130
130
UCesiumIonServer* pNewServer =
131
131
FCesiumEditorModule::serverManager ().GetCurrentServer ();
132
132
this ->Subscribe (pNewServer);
133
+
134
+ std::shared_ptr<CesiumIonSession> pSession =
135
+ FCesiumEditorModule::serverManager ().GetCurrentSession ();
136
+ if (pSession) {
137
+ pSession->refreshDefaultsIfNeeded ();
138
+ }
133
139
this ->Refresh ();
134
140
}
135
141
You can’t perform that action at this time.
0 commit comments