void JointPropertySetting::InitProperties(wxPropertyGrid* pg)
{
	pg->Clear();

	pg->Append(new wxStringProperty(wxT("Name"), wxPG_LABEL, m_joint->m_name));
	pg->Append(new wxBoolProperty(wxT("collideConnected"), wxPG_LABEL, m_joint->m_collide_connected));
	pg->SetPropertyAttribute("collideConnected", wxPG_BOOL_USE_CHECKBOX, true, wxPG_RECURSE);

	switch (m_joint->m_type)
	{
	case Joint::e_revoluteJoint:
		CreatePropertyPanel(static_cast<RevoluteJoint*>(m_joint), pg);
		break;
	case Joint::e_prismaticJoint:
		CreatePropertyPanel(static_cast<PrismaticJoint*>(m_joint), pg);
		break;
	case Joint::e_distanceJoint:
		CreatePropertyPanel(static_cast<DistanceJoint*>(m_joint), pg);
		break;
	case Joint::e_pulleyJoint:
		CreatePropertyPanel(static_cast<PulleyJoint*>(m_joint), pg);
		break;
	case Joint::e_gearJoint:
		CreatePropertyPanel(static_cast<GearJoint*>(m_joint), pg);
		break;
	case Joint::e_wheelJoint:
		CreatePropertyPanel(static_cast<WheelJoint*>(m_joint), pg);
		break;
	case Joint::e_weldJoint:
		CreatePropertyPanel(static_cast<WeldJoint*>(m_joint), pg);
		break;
	case Joint::e_frictionJoint:
		CreatePropertyPanel(static_cast<FrictionJoint*>(m_joint), pg);
		break;
	case Joint::e_ropeJoint:
		CreatePropertyPanel(static_cast<RopeJoint*>(m_joint), pg);
		break;
	case Joint::e_motorJoint:
		CreatePropertyPanel(static_cast<MotorJoint*>(m_joint), pg);
		break;
	}
}
示例#2
0
GraphBase::GraphBase(GraphBaseDelegate *newDelegate, const Rect &rect)
    :   delegate(newDelegate)
    ,   workingScene(NULL)
{
    CreatePropertyPanel(rect);
}