
<tabfolder>
<tabitem onSelect="selectTab(1)">
...
</tabitem>
<tabitem onSelect="selectTab(2)">
...
</tabitem>
</tabfolder>
hi i have tried this one, but it is showing error thet there is no onselect options in tabitem...
And also i have attached the code..
based on this code i want seperate screenfirst menu for each tab ......
help me pls...




homescreen.xml
<screen cleanUpWhenRemoved="true">
<_title>%TABS%</_title>
<tabfolder class="library" id="tabs">
<tabitem style="layout:borderlayout" icon="call_img.PNG" label="Logs" id="tab1">
<tabitembutton onselect="selectTab(tab1)" onaction="tab1">
<_selected>@{selectedTab1}</_selected>
</tabitembutton>
<textfield style="layout:borderlayout;layout-data:bld(north);align:center;margin:2;border:0;bg-image:url(white_dialer.PNG);border-color:white;font-style:bold;font-size:large;min-size:20 10">
09983866866
</textfield>
<container style="layout:borderlayout;layout-data:bld(center)" >
<scrollpane >
<list >
<_renderer >
<![CDATA[
<listItem onfocus="contactfocus" style="layout:gridlayout(3,1)" onAction="show">
<picture style="align:left">arrow-green.PNG</picture>
<container style="layout:inlinelayout(false,fill)">
<text >@{name}</text>
</container>
<picture >Mobimoovicon.PNG</picture>
</listItem>
]]>
</_renderer>
<_items >@{calllogs}</_items>
</list>
</scrollpane>
</container>
<!-- #inc(/xml/tab1.xml)-->
</tabitem>
<tabitem style="layout:borderlayout" icon="contact_img.PNG" label= "Contacts" id="tab2">
<tabitembutton onselect="selectTab(tab2)" onaction="tab2">
<_selected>@{selectedTab2}</_selected>
</tabitembutton>
<container style="layout:borderlayout;layout-data:bld(center)" >
<scrollpane >
<list >
<_renderer >
<![CDATA[
<listItem onfocus="contactfocus" style="layout:borderlayout" onAction="show">
<container style="layout:inlinelayout(false,fill)">
<text >@{name}</text>
</container>
</listItem>
]]>
</_renderer>
<_items >@{contacts}</_items>
</list>
</scrollpane>
</container>
<!--#inc(/xml/tab2.xml)-->
</tabitem>
<tabitem style="layout:borderlayout" icon="chat_img.PNG" label="M2MUI" id="tab2">
<tabitembutton onselect="selectTab(tab3)">
<_selected>@{selectedTab3}</_selected>
</tabitembutton>
<container style="layout:borderlayout;layout-data:bld(center)" >
<scrollpane >
<list >
<_renderer >
<![CDATA[
<listItem onfocus="contactfocus" style="layout:gridlayout(2,1)" onAction="show">
<picture>M2MUI.PNG</picture>
<container style="layout:inlinelayout(false,fill)">
<text >@{name}</text>
</container>
</listItem>
]]>
</_renderer>
<_items >@{m2mcontacts}</_items>
</list>
</scrollpane>
</container>
<!--#inc(/xml/tab2.xml)-->
</tabitem>
</tabfolder>
<screenfirstmenu>Options
</screenfirstmenu>
<screenSecondMenu onAction="hide">%HIDE%</screenSecondMenu>
</screen>
homescreen.frame
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package dataproviders;
import co.uk.mobinoinnovation.Mobimoov.ui.mobimoovconstants.MobimoovConstants;
import java.util.Vector;
import org.kalmeo.kuix.core.Kuix;
import org.kalmeo.kuix.core.KuixConstants;
import org.kalmeo.kuix.core.model.DataProvider;
import org.kalmeo.kuix.widget.Menu;
import org.kalmeo.kuix.widget.Screen;
import org.kalmeo.kuix.widget.TabFolder;
import org.kalmeo.kuix.widget.TabItem;
import org.kalmeo.kuix.widget.Widget;
import org.kalmeo.util.frame.Frame;
/**
*
* @author Srivatsan
*/
public class TabScreen implements Frame {
private Vector contactvec = new Vector();
private Vector calllogvec = new Vector();
private Vector m2mvec = new Vector();
// Static frame instance
public static final TabScreen instance = new TabScreen();
TabProvider tabProvider = new TabProvider();
private final Screen screen = Kuix.loadScreen("/xml/homescreen.xml", tabProvider);
public boolean status = false;
Menu menu=new Menu();
private void showtab1Options(String askAction, DataProvider dataProvider) {
Widget container = new Widget(KuixConstants.CONTAINER_WIDGET_TAG);
Kuix.loadXml(container, getClass().getResourceAsStream(MobimoovConstants.TAB1_OPTIONS), dataProvider);
Kuix.showPopupBox("askbox", -1, container, 0, null, null, null, null);
}
public void showScreen() {
screen.setCurrent();
}
private static final String SELECT_TAB = "selectTab";
TabFolder tabFolder = (TabFolder) screen.getWidget("tabs");
TabItem tab;
public boolean onMessage(Object identifier, Object[] arguments) {
boolean devolver = false;
if ("selectTab(1)".equals(identifier)) {
System.out.println("selectTab(tab1).equals(identifier)11111111111111:::::::::::::;;");
Kuix.loadMenuContent( menu, "/xml/homescreen.xml", tabProvider);
}
else if ("selectTab(2)".equals(identifier)) {
System.out.println("selectTab(tab1).equals(identifier)11111112121212:::::::::::::;;");
}
else if ("selectTab3".equals(identifier)) {
System.out.println("selectTab(tab1).equals(identifier)13334324234234:::::::::::::;;");
}
return true;
}
public void onAdded() {
try {
calllogvec.addElement("09986866605");
calllogvec.addElement("09986818454");
calllogvec.addElement("09949065658");
calllogvec.addElement("09969696969");
calllogvec.addElement("09009898989");
calllogvec.addElement("09668686868");
calllogvec.addElement("09449666565");
calllogvec.addElement("09969696969");
calllogvec.addElement("09009898989");
for (int i = 0; i < calllogvec.size(); i++) {
tabProvider.createCallLogList((String) calllogvec.elementAt(i));
}
} catch (Exception ex) {
ex.printStackTrace();
}
try {
contactvec.addElement("jay");
contactvec.addElement("kiran");
contactvec.addElement("easwar");
contactvec.addElement("hari");
contactvec.addElement("venky");
contactvec.addElement("ravi");
contactvec.addElement("raju");
contactvec.addElement("hari");
contactvec.addElement("venky");
contactvec.addElement("ravi");
contactvec.addElement("raju");
for (int i = 0; i < contactvec.size(); i++) {
tabProvider.createContactList((String) contactvec.elementAt(i));
}
} catch (Exception ex) {
ex.printStackTrace();
}
try {
m2mvec.addElement("jay");
m2mvec.addElement("kiran");
m2mvec.addElement("easwar");
m2mvec.addElement("hari");
m2mvec.addElement("venky");
m2mvec.addElement("ravi");
m2mvec.addElement("raju");
m2mvec.addElement("hari");
m2mvec.addElement("venky");
m2mvec.addElement("ravi");
m2mvec.addElement("raju");
for (int i = 0; i < m2mvec.size(); i++) {
tabProvider.createM2MList((String) m2mvec.elementAt(i));
}
} catch (Exception ex) {
ex.printStackTrace();
}
showScreen();
}
public void onRemoved() {
}
}
DATA PROVIDER:tabprovider
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package dataproviders;
import org.kalmeo.kuix.core.model.DataProvider;
public class TabProvider extends DataProvider {
private boolean selectedTab1 = true; //By default, when initializing the frame.
private boolean selectedTab2;
private boolean selectedTab3;
private String selectTab = TAB1;
//Tabs that can be selected in the frame
public static final String TAB1 = "tab1";
public static final String TAB2 = "tab2";
public static final String TAB3 = "tab3";
private static final String SELECTED_TAB1 = "selectedTab1";
private static final String SELECTED_TAB2 = "selectedTab2";
private static final String SELECTED_TAB3 = "selectedTab3";
public static final String CALLLOG_PROPERTY = "calllogs";
public static final String CONTACT_PROPERTY = "contacts";
public static final String M2M_PROPERTY = "m2mcontacts";
private static final String NAME_PROPERTY = "name";
// create a value variable
public String contact = "unknown";
// ContactList's name
public String name;
public void setSelectedTab2(boolean selectedTab2) {
this.selectedTab2 = selectedTab2;
dispatchUpdateEvent(SELECTED_TAB2);
}
public boolean isSelectedTab2() {
return selectedTab2;
}
public void setSelectedTab3(boolean selectedTab3) {
this.selectedTab3 = selectedTab3;
dispatchUpdateEvent(SELECTED_TAB3);
}
public boolean isSelectedTab3() {
return selectedTab3;
}
public boolean isSelectedTab1() {
return selectedTab1;
}
public void setSelectedTab1(boolean selectedTab1) {
this.selectedTab1 = selectedTab1;
dispatchUpdateEvent(SELECTED_TAB1);
}
public void setName(String name) {
this.name = name;
dispatchUpdateEvent(NAME_PROPERTY);
}
protected Object getUserDefinedValue(String property) {
Object devolver = null;
if (SELECTED_TAB1.equals(property)) {
devolver = "" + selectedTab1;
} else if (SELECTED_TAB2.equals(property)) {
devolver = "" + selectedTab2;
} else if (SELECTED_TAB3.equals(property)) {
devolver = "" + selectedTab3;
}
if (NAME_PROPERTY.equals(property)) {
return this.name;
}
return devolver;
}
public String getSelectTab() {
return selectTab;
}
public void setSelectTab(String selectTab) {
this.selectTab = selectTab;
updateSelectTab(selectTab);
}
private void updateSelectTab(String selectTab) {
if (selectTab.equals(TAB1)) {
selectedTab1 = true;
selectedTab2 = false;
selectedTab3 = false;
} else if (selectTab.equals(TAB1)) {
selectedTab2 = true;
selectedTab1 = false;
selectedTab3 = false;
} else if (selectTab.equals(TAB2)) {
selectedTab3 = true;
selectedTab1 = false;
selectedTab2 = false;
}
dispatchUpdateEvent(SELECTED_TAB1);
dispatchUpdateEvent(SELECTED_TAB2);
dispatchUpdateEvent(SELECTED_TAB3);
}
public boolean createCallLogList(String name) {
if (name != null && name.length() > 0) {
System.out.println("pad open create contactlist------");
// Create the model
TabProvider callLogList = new TabProvider();
callLogList.setName(name);
// Add shopList model
addItem(CALLLOG_PROPERTY, callLogList);
return true;
}
return false;
}
public boolean createContactList(String name) {
if (name != null && name.length() > 0) {
System.out.println("pad open create contactlist------");
// Create the model
TabProvider contactList = new TabProvider();
contactList.setName(name);
// Add shopList model
addItem(CONTACT_PROPERTY, contactList);
return true;
}
return false;
}
public boolean createM2MList(String name) {
if (name != null && name.length() > 0) {
System.out.println("pad open create contactlist------");
// Create the model
TabProvider m2mList = new TabProvider();
m2mList.setName(name);
// Add shopList model
addItem(M2M_PROPERTY, m2mList);
return true;
}
return false;
}
}