cancel
Showing results for 
Search instead for 
Did you mean: 

Text Area alignment change

BhavyaSri
Associate III

How to change the alignment of textarea from the default style set in touchgfx designer?

 

In touchgfx designer(Version:4.21.3) I have set to Left alignment. I use this textarea for multiple purposes, for few I need to set to Left alignment and for few I need to set to Right alignment. I tried using ' textArea.setTextAlignment(TEXT_ALIGNMENT_RIGHT);'  but it says set alignment is not a member.

 

14 REPLIES 14

Here

BhavyaSri
Associate III

Thanks for the solution @ferro and Thanks for the suggestions @GaetanGodart  . I have found the solution for left, right alignments(I need only left, right alignment).

Solution: 

1. I have declared in Texts section as 'T_ALIGN_LEFT',' T_ALIGN_RIGHT' Ids text is "<>" with different alignment in designer.

2. Where ever, I wanted to set to Right Alignment, I'm writing code as 

  • textArea1.setTypedText(touchgfx::TypedText (T_ALIGN_RIGHT));
  • Unicode::strncpy(textArea1Buffer,textfieldval,TEXTAREA1_SIZE);
  • textArea1.setWildcard(textArea1Buffer);
  • textArea1.invalidate();

3. And using this code to set it back to Left alignment whereever required:

  • textArea1.setTypedText(touchgfx::TypedText (T_ALIGN_LEFT));
  • textArea1.invalidate();
NGune.1
Associate III

Hi,

To be a reference for the others, can you please be more clear about how it is resolved?

I define my text areas in the code (since, in the beginning it is unknown that how many text areas will be needed). 

In the .hpp I have:

    touchgfx::TextAreaWithOneWildcard Line[100][10];

 in the View.cpp, I have something like:

Line[i][j].setPosition(50+(j)*90, (i*24+5), 90, 24);
Line[i][j].setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
Line[i][j].setLinespacing(0);

snprintf(swap, 10, "%lu",aTemp[i][j]);
Unicode::strncpy(dst, swap, 10);
Unicode::snprintf(TextBuffer[i][j], 10, dst);

Line[i][j].setWildcard(TextBuffer[i][j]);
Line[i][j].setTypedText(touchgfx::TypedText(T_RESOURCEID1));
Line[i][j].setTypedText( touchgfx::TypedText(T_ALIGN_CENTER));
EditorContainer.add(Line[i][j]);
Line[i][j].invalidate();

 

It doesn't compile and gives error for the line that has this T_ALIGN_CENTER. it says:

'T_ALIGN_CENTER' was not declared in this scope

What am I doing wrong?

Thanks

Hi,

1. missing

#include <texts/TextKeysAndLanguages.hpp>

2. or ALIGN_CENTER is missing in Text view:

ferro_0-1732722768127.png

 

If not then past here compiler error screenshot please

Hi Ferro,

Number 2 was missing. 

I added a new group, "ResourceID2" and made it center_aligned in the Designer. And then i my code wrote:

Line[i][j].setTypedText(touchgfx::TypedText(T_RESOURCEID2));

Everything with this ResourceId2 is now centered.

Thank you.