Week 3: Resolving Combobox Icon Flaw and TextBox Justification#

What did you do this week?#

This week, I tackled the ComboBox2D icon flaw, which was addressed using Pull Request (PR) #576. The problem arose when we added a ComboBox2D to the TabUI. The TabUI would propagate the set_visibility = true for all its child elements, causing the combobox to appear on the screen without the icon change. To fix this issue, PR #768 updated the set_visibility method of the UI class, ensuring that the icon change was applied correctly.

Combobox Icon

Next, I focused on the textbox justification. As discussed in our meeting, I added a new property called boundingbox to the TextBlock2D. However, I encountered a problem when resizing the TextBlock2D. The vtkTextActor property would switch from SetTextScaleModeToNone to SetTextScaleModeToProp, which would scale the font according to the position1 (lower left corner) and position2 (upper right corner) of the UI. This inconsistency in font scaling resulted in misaligned text actors. I spent some time investigating this issue, and you can find my progress in the ongoing PR #803.

Additionally, I started working on creating a Scrollbar component by inheriting the LineSlider2D. I made adjustments to the position and other attributes to make it function as a scrollbar. However, I encountered some confusion regarding how to separate the scrollbar component from other elements and determine what should be included in the scrollbar itself.

Scrollbar

Did you get stuck anywhere?#

I faced a challenge while working on the text justification. It took me several days to identify the root cause of the occasional malfunctioning of the TextBlock2D. At last, I found out the reason behind the issue.

What is coming up next?#

Next week, I have several tasks lined up. Firstly, I will be working on the CardUI PR #398. Additionally, I plan to complete the segregation of the scrollbar component, ensuring its independence and clarity. Lastly, I will be working on issue #540, which involves updating the use of the numpy_to_vtk_image_data utility function.