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.
