level::level( u32 s_num_sublevels, const vec2_u32& shared_sublevel_size_2d ) { if ( s_num_sublevels > max_num_sublevels ) { cout << "Weird bug: s_num_sublevels > max_num_sublevels. " << "Specific value is " << s_num_sublevels << ".\n"; for ( u32 i=0; i<max_num_sublevels; ++i ) { sublevel_vec.push_back(sublevel()); } } else { for ( u32 i=0; i<s_num_sublevels; ++i ) { sublevel_vec.push_back(sublevel()); } } }
level::level( const vector<vec2_u32>& s_sublevel_size_2d_vec ) { if ( s_sublevel_size_2d_vec.size() > max_num_sublevels ) { cout << "Weird bug: s_sublevel_size_2d_vec.size() > " << "max_num_sublevels. Specific value is " << s_sublevel_size_2d_vec.size() << ".\n"; for ( u32 i=0; i<max_num_sublevels; ++i ) { sublevel_vec.push_back(sublevel(s_sublevel_size_2d_vec.at(i))); } } else { for ( u32 i=0; i<s_sublevel_size_2d_vec.size(); ++i ) { sublevel_vec.push_back(sublevel(s_sublevel_size_2d_vec.at(i))); } } }
level_editor_widget::level_editor_widget( vector<string>* s_argv_copy, QWidget* s_parent ) : QWidget(s_parent), argv_copy(s_argv_copy), parent(s_parent) { //setAttribute(Qt::WA_StaticContents); //setMouseTracking(true); parent->resize( 600, 600 ); parent->setWindowTitle(default_parent_title); init_level_element_selectors_tab_widget(); core_widgets_tab_widget.reset(new QTabWidget(this)); core_widgets_tab_widget->setMovable(true); connect( core_widgets_tab_widget.get(), &QTabWidget::currentChanged, this, &level_editor_widget::handle_tab_switch ); // If no file name was passed on the command line, create a new // sublevel, with real_size_2d set to vec2_u32( 16, 16 ) if ( argv_copy->size() == 1 ) { the_level.sublevel_vec.clear(); the_level.sublevel_vec.push_back(sublevel(vec2_u32( 16, 16 ))); //level_editor_core_widget* to_push = new level_editor_core_widget // ( this, QPoint( 0, 0 ), string(""), // &the_level.sublevel_vec.front(), vec2_u32( 16, 16 ) ); //level_editor_core_widget* to_push = new level_editor_core_widget // ( this, QPoint( 0, 0 ), string(""), // &the_level.sublevel_vec.front() ); the_core_widget_vec.push_back(unique_ptr<level_editor_core_widget> (new level_editor_core_widget( this, QPoint( 0, 0 ), string(""), &the_level.sublevel_vec.front() ))); connect( the_core_widget_vec.back().get(), &level_editor_core_widget::sprite_was_selected, this, &level_editor_widget::show_sprite_properties_widget ); connect( the_core_widget_vec.back().get(), &level_editor_core_widget::sprite_no_longer_selected, this, &level_editor_widget::hide_sprite_properties_widget ); // core_widget_scroll_area stuff core_widget_scroll_area_vec.push_back(unique_ptr<QScrollArea> (new QScrollArea(this))); core_widget_scroll_area_vec.back()->setWidget (the_core_widget_vec.back().get()); core_widget_scroll_area_vec.back()->setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOn); core_widget_scroll_area_vec.back()->setVerticalScrollBarPolicy (Qt::ScrollBarAlwaysOn); the_core_widget_vec.back()->the_sfml_canvas_widget ->set_scroll_area(core_widget_scroll_area_vec.front().get()); core_widgets_tab_widget->addTab ( core_widget_scroll_area_vec.front().get(), "Sublevel 0" ); sprite_properties_widget_enabled_vec.push_back(false); } else //if ( argv_copy->size() == 3 ) { open_level_core_func(argv_copy->at(1)); } init_tab_stuff_for_core_widgets(); init_splitters_and_hbox_layout(); }