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; } }
GraphBase::GraphBase(GraphBaseDelegate *newDelegate, const Rect &rect) : delegate(newDelegate) , workingScene(NULL) { CreatePropertyPanel(rect); }