コード例 #1
0
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());
		}
	}
}
コード例 #2
0
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();
	
}