Thanks, this looks correct.

On Thursday, August 29, 2019 at 12:15:54 PM UTC-4, Steve Hannah wrote:
>
> I have just made some changes to SpanLabel to fix a regression but don't 
> know if it is related to this issue.  I haves added your provided test case 
> as a Sample, named TabsWityhSpanLabelsTest.  You can run the sample against 
> the latest sources in the Samples Runner.  This is what I see when I run 
> the sample.  Is this correct, or is there something wrong with this layout?
>
> [image: image.png]
>
> On Tue, Aug 27, 2019 at 6:57 AM <[email protected] <javascript:>> 
> wrote:
>
>> If you are experiencing an issue please mention the full platform your 
>> issue applies to:
>> IDE: NetBeans/Eclipse/IDEA Netbeans 11
>> Desktop OS Windows 10 Pro
>> Simulator Latest
>> Device PC, IOS
>>
>> Recent build (last 10 days approx) has produced an unusual horizontal 
>> with TABS component display.
>> See attached pic.
>>
>> Purpose of this overriding TABS class is to provide multi line text 
>> support
>>
>> It appears that the SpanButton class is the problem as I see similar 
>> behavior placing this component in a table container. 
>>
>> Here is a simple re-producible case
>>
>>             Form hi = new Form("Custom Tabs", new BorderLayout());
>>             Tabs tb = new Tabs(Component.TOP) {
>>                 @Override
>>                 protected Component createTab(String title, Image icon) {
>>                     SpanButton custom = new SpanButton(title);
>>                     custom.setName("SpanButton");
>>                     custom.setIcon(icon);
>>                     custom.setUIID("Container");
>>                     custom.setTextUIID("mpiTabMetalUnSelected");
>>                     custom.setIconPosition(BorderLayout.NORTH);
>>                     return custom;
>>                 }
>>
>>                 @Override
>>                 public String getTabTitle(Component tab) {
>>                     return ((SpanButton) tab).getText();
>>                 }
>>
>>                 @Override
>>                 public String getTabTitle(int index) {
>>                     String TabTitle = "";
>>                     try {
>>                         for (int a = 0; a < getComponentCount(); a++) {
>>                             Container cnt = (Container) getComponentAt(a);
>>                             for (int b = 0; b < cnt.getComponentCount(); 
>> b++) {
>>                                 if (cnt.getComponentAt(b).getName() != 
>> null && cnt.getComponentAt(b).getName().compareToIgnoreCase("SpanButton") 
>> == 0 && index == b) {
>>                                     return 
>> getTabTitle(cnt.getComponentAt(b));
>>                                 }
>>                             }
>>                         }
>>                     } catch (Exception g) {
>>                         g.printStackTrace();
>>                     }
>>                     return TabTitle;
>>                 }
>>
>>                 @Override
>>                 public void setTabTitle(String title, Image icon, int 
>> index) {
>>                     try {
>>                         for (int a = 0; a < getComponentCount(); a++) {
>>                             Container cnt = (Container) getComponentAt(a);
>>                             for (int b = 0; b < cnt.getComponentCount(); 
>> b++) {
>>                                 if (cnt.getComponentAt(b).getName() != 
>> null && cnt.getComponentAt(b).getName().compareToIgnoreCase("SpanButton") 
>> == 0 && index == b) {
>>                                     SpanButton custom = (SpanButton) 
>> cnt.getComponentAt(b);
>>                                     custom.setText(title);
>>                                     return;
>>                                 }
>>                             }
>>                         }
>>                     } catch (Exception g) {
>>                         g.printStackTrace();
>>                     }
>>                 }
>>
>>                 @Override
>>                 protected void setTabSelectedIcon(Component tab, Image 
>> icon) {
>>                     ((SpanButton) tab).setPressedIcon(icon);
>>                 }
>>
>>                 protected void selectTab(Component tab) {
>>                     for (int a = 0; a < this.getComponentCount(); a++) {
>>                         Container cmp1 = (Container) 
>> this.getComponentAt(a);
>>                         int selIndex = this.getSelectedIndex();
>>                         for (int b = 0; b < cmp1.getComponentCount(); 
>> b++) {
>>                             if (cmp1.getComponentAt(b).getName() != null 
>> && cmp1.getComponentAt(b).getName().startsWith("SpanButton") == true) {
>>                                 if (selIndex == b) {
>>                                     ((SpanButton) 
>> tab).setTextUIID("mpiTabMetalSelected");
>>                                 } else {
>>                                     ((SpanButton) 
>> cmp1.getComponentAt(b)).setTextUIID("mpiTabMetalUnSelected");
>>                                 }
>>                             }
>>                         }
>>                     }
>>                 }
>>
>>                 @Override
>>                 protected void bindTabActionListener(Component tab, 
>> ActionListener l) {
>>                     ((SpanButton) tab).addActionListener(l);
>>                 }
>>             };
>>             tb.addSelectionListener(new SelectionListener() {
>>                 @Override
>>                 public void selectionChanged(int oldSelected, int 
>> newSelected) {
>>                 }
>>             });
>>
>>             tb.setTabUIID(null);
>>             Button btn = new Button("Any Button Action");
>>             tb.addTab("Tab 1", btn);
>>             tb.addTab("Really long\ntext in tab", new Label("T2"));
>>             tb.addTab("Tab 3", new Label("T3"));
>>             tb.addTab("Tab 4", new Label("T4"));
>>             hi.add(BorderLayout.CENTER, tb);
>>             hi.show();
>>
>> Regards
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "CodenameOne Discussions" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/codenameone-discussions/0c600f02-f7a6-4884-ba5e-68c7600ffdf7%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/codenameone-discussions/0c600f02-f7a6-4884-ba5e-68c7600ffdf7%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
> Steve Hannah
> Software Developer
> Codename One
> http://www.codenameone.com
>

-- 
You received this message because you are subscribed to the Google Groups 
"CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/codenameone-discussions/4ab35da1-6a25-4054-8312-69120aa883ba%40googlegroups.com.

Reply via email to