InputRecipe::InputRecipe(Container *parent) : CustomControl(parent) { bool connectResult; Q_UNUSED(connectResult); ScrollView *scrollView = new ScrollView(); ScrollViewProperties* scrollViewProp = scrollView->scrollViewProperties(); scrollViewProp->setScrollMode(ScrollMode::Vertical); Container *recipeContainer = Container::create().left(80).right(80); // Label used to display the entered text mInputLabel = new Label(); mInputLabel->setMultiline(true); mInputLabel->setText((const QString) " "); mInputLabel->setHorizontalAlignment(HorizontalAlignment::Fill); mInputLabel->setBottomMargin(50.0); mInputLabel->textStyle()->setBase(SystemDefaults::TextStyles::bodyText()); // A multi line text input TextArea *textArea = new TextArea(); textArea->setHintText("Enter text into multi-line TextArea"); textArea->setPreferredHeight(140); textArea->setBottomMargin(50.0); textArea->textStyle()->setBase(SystemDefaults::TextStyles::bodyText()); textArea->setHorizontalAlignment(HorizontalAlignment::Fill); // Connect the TextArea textChanging signal to the onTextChanging function to update the text. connectResult = connect(textArea, SIGNAL(textChanging(const QString &)), this, SLOT(onTextChanging(const QString &))); Q_ASSERT(connectResult); // A single line input field with a clear functionality TextField *textField = new TextField(); textField->setHintText("Enter text into a single line TextField"); textField->setHorizontalAlignment(HorizontalAlignment::Fill); textField->setBottomMargin(50.0); // Connect the TextField textChanging signal to the onTextChanging function to update the text. connectResult = connect(textField, SIGNAL(textChanging(const QString &)), this, SLOT(onTextChanging(const QString &))); Q_ASSERT(connectResult); // A disabled text field TextField *disabledTextField = new TextField(); disabledTextField->setHintText("This is a disabled text field"); disabledTextField->setEnabled(false); disabledTextField->setHorizontalAlignment(HorizontalAlignment::Fill); disabledTextField->setBottomMargin(50.0); // Add the controls to the recipe Container and ScrollView and set it as the CustomControl root. scrollView->setContent(recipeContainer); recipeContainer->add(mInputLabel); recipeContainer->add(textField); recipeContainer->add(disabledTextField); recipeContainer->add(textArea); //recipeContainer->add(inputContainer); setRoot(scrollView); }
InputRecipe::InputRecipe(Container *parent) : CustomControl(parent) { Container *recipeContainer = new Container(); StackLayout *recipeLayout = new StackLayout(); recipeContainer->setLayout(recipeLayout); recipeLayout->setLeftPadding(80); recipeLayout->setRightPadding(80); // Label used to display the entered text. mInputLabel = new Label(); mInputLabel->setText((const QString) " "); mInputLabel->setLayoutProperties( StackLayoutProperties::create().horizontal(HorizontalAlignment::Fill)); mInputLabel->setBottomMargin(50.0); mInputLabel->textStyle()->setBase(SystemDefaults::TextStyles::bodyText()); // A multi line text input. TextArea *textArea = new TextArea(); textArea->setHintText("Enter text into multi-line TextArea"); textArea->setMinHeight(120.0f); textArea->setMaxHeight(200.0f); textArea->setPreferredHeight(0); textArea->setBottomMargin(50.0); textArea->textStyle()->setBase(SystemDefaults::TextStyles::bodyText()); textArea->setLayoutProperties( StackLayoutProperties::create().horizontal(HorizontalAlignment::Fill)); // Connect to the textChanged (to update text). connect(textArea, SIGNAL(textChanging(const QString &)), this, SLOT(onTextChanging(const QString &))); // A single line input field with a clear functionality. TextField *textField = new TextField(); textField->setHintText("Enter text into a single line TextField"); textField->setLayoutProperties( StackLayoutProperties::create().horizontal(HorizontalAlignment::Fill)); textField->setBottomMargin(50.0); // Connect to the textChanged (to update text). connect(textField, SIGNAL(textChanging(const QString &)), this, SLOT(onTextChanging(const QString &))); // A disabled text field. TextField *disabledTextField = new TextField(); disabledTextField->setHintText("This is a disabled text field"); disabledTextField->setEnabled(false); disabledTextField->setLayoutProperties( StackLayoutProperties::create().horizontal(HorizontalAlignment::Fill)); disabledTextField->setBottomMargin(50.0); // Add the controls to the recipe Container and set it as the CustomControl root. recipeContainer->add(mInputLabel); recipeContainer->add(textField); recipeContainer->add(disabledTextField); recipeContainer->add(textArea); //recipeContainer->add(inputContainer); setRoot(recipeContainer); }