[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] [pingus] push by address@hidden - Added EditorScreen::set_l
From: |
pingus |
Subject: |
[Pingus-CVS] [pingus] push by address@hidden - Added EditorScreen::set_level() on 2011-10-17 22:37 GMT |
Date: |
Mon, 17 Oct 2011 22:38:29 +0000 |
Revision: b6e9acdc4f09
Author: Ingo Ruhnke <address@hidden>
Date: Mon Oct 17 15:37:29 2011
Log: Added EditorScreen::set_level()
http://code.google.com/p/pingus/source/detail?r=b6e9acdc4f09
Modified:
/src/editor/editor_screen.cpp
/src/editor/editor_screen.hpp
=======================================
--- /src/editor/editor_screen.cpp Mon Oct 17 15:13:14 2011
+++ /src/editor/editor_screen.cpp Mon Oct 17 15:37:29 2011
@@ -163,6 +163,18 @@
plf->save_level(filename);
}
}
+
+void
+EditorScreen::set_level(std::unique_ptr<EditorLevel> level)
+{
+ viewport->clear_selection();
+
+ plf = std::move(level);
+
+ level_properties->set_level(plf.get());
+ action_properties->set_level(plf.get());
+ viewport->refresh();
+}
// Load a new level
void
@@ -175,20 +187,12 @@
if (System::get_file_extension(filename) == "prefab")
{
level_pathname = file;
- viewport->clear_selection();
- plf = EditorLevel::from_prefab_file(level_pathname);
- level_properties->set_level(plf.get());
- action_properties->set_level(plf.get());
- viewport->refresh();
+ set_level(EditorLevel::from_prefab_file(level_pathname));
}
else
{
level_pathname = file;
- viewport->clear_selection();
- plf = EditorLevel::from_level_file(level_pathname);
- level_properties->set_level(plf.get());
- action_properties->set_level(plf.get());
- viewport->refresh();
+ set_level(EditorLevel::from_level_file(level_pathname));
}
}
catch(const std::exception& err)
@@ -315,11 +319,7 @@
{
// FIXME: dialogs don't update
level_pathname = Pathname();
- viewport->clear_selection();
- plf.reset(new EditorLevel);
- level_properties->set_level(plf.get());
- action_properties->set_level(plf.get());
- viewport->refresh();
+ set_level(std::unique_ptr<EditorLevel>(new EditorLevel));
}
void
=======================================
--- /src/editor/editor_screen.hpp Mon Oct 10 16:10:02 2011
+++ /src/editor/editor_screen.hpp Mon Oct 17 15:37:29 2011
@@ -89,6 +89,8 @@
/** Return the viewport */
Viewport* get_viewport() const { return viewport; }
+
+ void set_level(std::unique_ptr<EditorLevel> level);
/** Return a pointer to the current level */
EditorLevel* get_level() const { return plf.get(); }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] [pingus] push by address@hidden - Added EditorScreen::set_level() on 2011-10-17 22:37 GMT,
pingus <=