System::SharedPtr project = System::MakeObject(dataDir + u"Project5.mpp"); // Create a new project task System::SharedPtr task = project->get_RootTask()->get_Children()->Add(u"New Activity"); // Define new custom attribute System::SharedPtr text1Definition = ExtendedAttributeDefinition::CreateTaskDefinition(Aspose::Tasks::ExtendedAttributeTask::Text1, nullptr); project->get_ExtendedAttributes()->Add(text1Definition); // Add custom text attribute to created task. task->get_ExtendedAttributes()->Add(text1Definition->CreateExtendedAttribute(System::String(u"Activity attribute"))); // Customize table by adding text attribute field System::SharedPtr attrField = System::MakeObject(); attrField->set_Field(Aspose::Tasks::Field::TaskText1); attrField->set_Width(20); attrField->set_Title(u"Custom attribute"); attrField->set_AlignTitle(System::Drawing::StringAlignment::Center); attrField->set_AlignData(System::Drawing::StringAlignment::Center); System::SharedPtr table = project->get_Tables()->ToList()->idx_get(0); table->get_TableFields()->Insert(3, attrField); // Save project as MPP project->Save(dataDir + u"ConfigureTheGantChartViewShowSelectedColumnFields_out.mpp", [&]{ auto tmp_0 = System::MakeObject(); tmp_0->set_WriteViewData(true); return tmp_0; }());