Skip to content

Commit 4a2c439

Browse files
authored
Merge pull request #37 from mimaraka/develop
v2.0-alpha2.1.1
2 parents fcf4ebb + c6fcce3 commit 4a2c439

File tree

90 files changed

+12804
-2736
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+12804
-2736
lines changed

.gitignore

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -362,8 +362,5 @@ MigrationBackup/
362362
# Fody - auto-generated XML schema
363363
FodyWeavers.xsd
364364

365-
# JavaScript library files
366-
curve_editor/ui/js/libs/
367-
368-
# Font Awesome
369-
curve_editor/ui/fontawesome/
365+
# Webpack build files
366+
curve_editor/ui/dist/

curve_editor/config.cpp

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,11 @@
22
#include "constants.hpp"
33
#include "curve_editor.hpp"
44
#include "global.hpp"
5-
#include "json_loader.hpp"
65
#include "string_table.hpp"
76
#include <fstream>
87

98

109

11-
using json = nlohmann::json;
12-
1310
namespace cved {
1411
namespace global {
1512
void Config::init(HINSTANCE hinst) noexcept {
@@ -151,43 +148,45 @@ namespace cved {
151148
bool Config::load_json() {
152149
std::ifstream ifs{ dir_plugin_ / CONFIG_FILE_NAME };
153150
if (!ifs) return false;
154-
json data;
151+
nlohmann::json data;
155152
try {
156-
data = json::parse(ifs);
157-
if (data.contains("preferences")) pref_.from_json(data["preferences"]);
158-
if (data.contains(GET_KEY(edit_mode_))) set_edit_mode(data[GET_KEY(edit_mode_)]);
159-
if (data.contains(GET_KEY(layout_mode_))) set_layout_mode(data[GET_KEY(layout_mode_)]);
153+
data = nlohmann::json::parse(ifs);
154+
if (data.contains("preferences")) {
155+
pref_.from_json(data["preferences"]);
156+
}
157+
set_from_json(this, data, GET_KEY(edit_mode_), &Config::set_edit_mode);
158+
set_from_json(this, data, GET_KEY(layout_mode_), &Config::set_layout_mode);
160159
if (data[GET_KEY(apply_mode_)].is_array()) {
161160
size_t count = 0u;
162161
for (const auto& el : data[GET_KEY(apply_mode_)]) {
163162
if (count >= apply_mode_.size()) break;
164163
set_apply_mode((EditMode)count++, (ApplyMode)el);
165164
}
166165
}
167-
JsonLoader::get_value(data, GET_KEY(curve_code_bezier_), curve_code_bezier_);
168-
JsonLoader::get_value(data, GET_KEY(curve_code_elastic_), curve_code_elastic_);
169-
JsonLoader::get_value(data, GET_KEY(curve_code_bounce_), curve_code_bounce_);
170-
if (data.contains(GET_KEY(show_library_))) set_show_library(data[GET_KEY(show_library_)]);
171-
if (data.contains(GET_KEY(show_velocity_graph_))) set_show_velocity_graph(data[GET_KEY(show_velocity_graph_)]);
172-
if (data.contains(GET_KEY(show_x_label_))) set_show_x_label(data[GET_KEY(show_x_label_)]);
173-
if (data.contains(GET_KEY(show_y_label_))) set_show_y_label(data[GET_KEY(show_y_label_)]);
174-
if (data.contains(GET_KEY(align_handle_))) set_align_handle(data[GET_KEY(align_handle_)]);
175-
if (data.contains(GET_KEY(ignore_autosaver_warning_))) set_ignore_autosaver_warning(data[GET_KEY(ignore_autosaver_warning_)]);
176-
if (data.contains(GET_KEY(separator_pos_))) set_separator_pos(data[GET_KEY(separator_pos_)]);
177-
if (data.contains(GET_KEY(preset_size_))) set_preset_size(data[GET_KEY(preset_size_)]);
166+
set_from_json(data, GET_KEY(curve_code_bezier_), curve_code_bezier_);
167+
set_from_json(data, GET_KEY(curve_code_elastic_), curve_code_elastic_);
168+
set_from_json(data, GET_KEY(curve_code_bounce_), curve_code_bounce_);
169+
set_from_json(this, data, GET_KEY(show_library_), &Config::set_show_library);
170+
set_from_json(this, data, GET_KEY(show_velocity_graph_), &Config::set_show_velocity_graph);
171+
set_from_json(this, data, GET_KEY(show_x_label_), &Config::set_show_x_label);
172+
set_from_json(this, data, GET_KEY(show_y_label_), &Config::set_show_y_label);
173+
set_from_json(this, data, GET_KEY(align_handle_), &Config::set_align_handle);
174+
set_from_json(this, data, GET_KEY(ignore_autosaver_warning_), &Config::set_ignore_autosaver_warning);
175+
set_from_json(this, data, GET_KEY(separator_pos_), &Config::set_separator_pos);
176+
set_from_json(this, data, GET_KEY(preset_size_), &Config::set_preset_size);
178177
}
179-
catch (const json::exception&) {
178+
catch (const nlohmann::json::exception&) {
180179
return false;
181180
}
182181
return true;
183182
}
184183

185184
// jsonファイルを保存
186185
bool Config::save_json() {
187-
json data_pref;
186+
nlohmann::json data_pref;
188187
pref_.to_json(&data_pref);
189188

190-
json data = {
189+
nlohmann::json data = {
191190
{"preferences", data_pref},
192191
{GET_KEY(edit_mode_), edit_mode_},
193192
{GET_KEY(layout_mode_), layout_mode_},

curve_editor/config.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
#include "enum.hpp"
44
#include "preferences.hpp"
5+
#include "util_json.hpp"
56
#include <mkaul/color.hpp>
67
#include <mkaul/util.hpp>
78

curve_editor/constants.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace cved {
2525
inline constexpr auto PLUGIN_VERSION = mkaul::Version{
2626
mkaul::VersionNumber{2},
2727
mkaul::PreviewType{mkaul::PreviewType::Type::Alpha},
28-
mkaul::VersionNumber{2, 1}
28+
mkaul::VersionNumber{2, 1, 1}
2929
};
3030
inline constexpr auto PLUGIN_DEVELOPER = "mimaraka";
3131
inline constexpr auto PLUGIN_TRANSLATOR = "Deepdive";

curve_editor/curve_editor.rc

500 Bytes
Binary file not shown.

curve_editor/curve_editor.vcxproj

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,16 @@ xcopy /y "$(ProjectDir)@Curve Editor.tra" "$(OutDir)"</Command>
137137
</Link>
138138
<PostBuildEvent>
139139
<Command>xcopy /y "$(ProjectDir)curve_editor.lua" "$(OutDir)"
140+
140141
xcopy /y "$(ProjectDir)@Curve Editor.tra" "$(OutDir)"
142+
141143
rd /s /q "$(OutDir)ui"
142-
xcopy /s /y /i "$(ProjectDir)ui" "$(OutDir)ui"
143-
node "$(ProjectDir)minify.js" "$(OutDir)ui"</Command>
144+
rd /s /q "$(ProjectDir)ui\dist\js"
145+
cd "$(ProjectDir)ui"
146+
call npx webpack --mode production
147+
cd $(SolutionDir)
148+
xcopy /s /y /i "$(ProjectDir)ui\dist\js" "$(OutDir)ui\js"
149+
xcopy /y "$(ProjectDir)ui\src\index.html" "$(OutDir)ui"</Command>
144150
</PostBuildEvent>
145151
<Manifest>
146152
<AdditionalManifestFiles>
@@ -239,10 +245,8 @@ node "$(ProjectDir)minify.js" "$(OutDir)ui"</Command>
239245
<ClInclude Include="host_object_curve_bounce.hpp" />
240246
<ClInclude Include="host_object_curve_graph.hpp" />
241247
<ClInclude Include="host_object_curve_linear.hpp" />
242-
<ClInclude Include="host_object_editor.hpp" />
243248
<ClInclude Include="host_object_editor_graph.hpp" />
244249
<ClInclude Include="host_object_config.hpp" />
245-
<ClInclude Include="json_loader.hpp" />
246250
<ClInclude Include="menu.hpp" />
247251
<ClInclude Include="menu_bezier_handle.hpp" />
248252
<ClInclude Include="menu_curve_segment.hpp" />
@@ -261,6 +265,8 @@ node "$(ProjectDir)minify.js" "$(OutDir)ui"</Command>
261265
<ClInclude Include="string_table.hpp" />
262266
<ClInclude Include="util.hpp" />
263267
<ClInclude Include="my_webview2.hpp" />
268+
<ClInclude Include="util_json.hpp" />
269+
<ClInclude Include="my_webview2_reference.hpp" />
264270
<ClInclude Include="window_select_curve.hpp" />
265271
</ItemGroup>
266272
<ItemGroup>
@@ -300,6 +306,7 @@ node "$(ProjectDir)minify.js" "$(OutDir)ui"</Command>
300306
<ClCompile Include="host_object_config.cpp" />
301307
<ClCompile Include="host_object_curve_normal.cpp" />
302308
<ClCompile Include="host_object_curve_graph_numeric.cpp" />
309+
<ClCompile Include="host_object_editor_script.cpp" />
303310
<ClCompile Include="modifier_base.cpp" />
304311
<ClCompile Include="modifier_discretization.cpp" />
305312
<ClCompile Include="drag_and_drop.cpp" />
@@ -336,7 +343,6 @@ node "$(ProjectDir)minify.js" "$(OutDir)ui"</Command>
336343
</ClCompile>
337344
<ClCompile Include="host_object_editor_graph.cpp" />
338345
<ClCompile Include="host_object_curve_graph.cpp" />
339-
<ClCompile Include="json_loader.cpp" />
340346
<ClCompile Include="menu.cpp" />
341347
<ClCompile Include="menu_bezier_handle.cpp">
342348
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
@@ -399,30 +405,28 @@ node "$(ProjectDir)minify.js" "$(OutDir)ui"</Command>
399405
<None Include="minify.js" />
400406
<None Include="packages.config" />
401407
<None Include="resources\cursor\drag.cur" />
402-
<None Include="ui\css\editor_graph.css" />
403-
<None Include="ui\css\editor_text.css" />
404-
<None Include="ui\css\panel_editor.css" />
405-
<None Include="ui\css\panel_main.css" />
406-
<None Include="ui\css\preset.css" />
407-
<None Include="ui\css\select_dialog.css" />
408-
<None Include="ui\css\toolbar.css" />
409-
<None Include="ui\css\variables.css" />
410-
<None Include="ui\editor_graph.html" />
411-
<None Include="ui\editor_text.html" />
412-
<None Include="ui\js\curve.js" />
413-
<None Include="ui\js\editor_graph.js" />
414-
<None Include="ui\js\editor_text.js" />
415-
<None Include="ui\js\handles.js" />
416-
<None Include="ui\js\panel_editor.js" />
417-
<None Include="ui\js\panel_main.js" />
418-
<None Include="ui\js\preset.js" />
419-
<None Include="ui\js\select_dialog.js" />
420-
<None Include="ui\js\toolbar.js" />
421-
<None Include="ui\panel_editor.html" />
422-
<None Include="ui\panel_main.html" />
423-
<None Include="ui\preset.html" />
424-
<None Include="ui\select_dialog.html" />
425-
<None Include="ui\toolbar.html" />
408+
<None Include="ui\src\button.tsx" />
409+
<None Include="ui\src\curve.ts" />
410+
<None Include="ui\src\editor_graph.tsx" />
411+
<None Include="ui\src\editor_text.tsx" />
412+
<None Include="ui\src\handles.ts" />
413+
<None Include="ui\src\host_object.ts" />
414+
<None Include="ui\src\index.tsx" />
415+
<None Include="ui\src\panel_editor.tsx" />
416+
<None Include="ui\src\panel_main.tsx" />
417+
<None Include="ui\src\preset.tsx" />
418+
<None Include="ui\src\scss\button.scss" />
419+
<None Include="ui\src\scss\common.scss" />
420+
<None Include="ui\src\scss\editor_graph.scss" />
421+
<None Include="ui\src\scss\editor_text.scss" />
422+
<None Include="ui\src\scss\panel_editor.scss" />
423+
<None Include="ui\src\scss\panel_main.scss" />
424+
<None Include="ui\src\scss\preset.scss" />
425+
<None Include="ui\src\scss\select_dialog.scss" />
426+
<None Include="ui\src\scss\toolbar.scss" />
427+
<None Include="ui\src\scss\variables.scss" />
428+
<None Include="ui\src\select_dialog.tsx" />
429+
<None Include="ui\src\toolbar.tsx" />
426430
</ItemGroup>
427431
<ItemGroup>
428432
<ResourceCompile Include="curve_editor.rc" />

0 commit comments

Comments
 (0)