import org.tizen.webuibuilder.ui.views.databinding.DataBindingDnDManager;
import org.tizen.webuibuilder.ui.views.databinding.DataBindingView;
import org.tizen.webuibuilder.ui.views.databinding.model.BindingData;
+import org.tizen.webuibuilder.ui.views.databinding.model.BindingObject;
import org.tizen.webuibuilder.ui.views.databinding.model.TreeItemData;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
+import com.google.gson.JsonPrimitive;
public class SetSourcePage extends Dialog {
- private DataBindingView view;
private Shell shell;
private TreeItem dataSourceTreeItem;
+ private BindingData dataSource;
private StackLayout setttingStackLayout;
private StackLayout dataStackLayout;
* @param view
* @param dataSourceTreeItem
*/
- public SetSourcePage( Shell parent, DataBindingView view, TreeItem dataSourceTreeItem ){
+ public SetSourcePage( Shell parent, TreeItem dataSourceTreeItem ){
super( parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL );
setText( "Set Source" );
this.dataSourceTreeItem = dataSourceTreeItem;
- this.view = view;
}
/**
*
* @return message
*/
- public String open() {
+ public BindingData open() {
// Create the dialog window
shell = new Shell( getParent(), SWT.TITLE | SWT.CLOSE | SWT.BORDER | SWT.RESIZE );
shell.setText( getText() );
display.sleep();
}
}
- return message;
+
+ return dataSource;
}
/**
dataSourceTreeItem.removeAll();
- JsonObject root = new JsonObject();
TreeItem[] treeItems = dialogTree.getItems();
+
for (TreeItem item : treeItems) {
- Helper.makeJsonFromTree( item, root);
+ BindingObject bindingData = new BindingObject(item.getText(0), item.getText(1), item.getText(2));
+ makeBindingDataFromTree(item, bindingData);
+ dataModel.addDataSourceObjects(bindingData);
}
- Helper.makeTreeItem(root, null, dataSourceTreeItem, false);
- message = "OK";
+
+ dataSource = dataModel;
shell.close();
}
} );
-
- // Set the OK button as the default, so
- // user can type input and press Enter
- // to dismiss
- // shell.setDefaultButton(okButton);
}
+ private void makeBindingDataFromTree(TreeItem parentItem, BindingObject parentBindingObject) {
+ String type = parentItem.getText(2);
+
+ TreeItem[] items = parentItem.getItems();
+
+ if( type.equals("Array") ){
+ for(TreeItem item : items ){
+ if( item.getText(2).equals( "Index" ) ){
+ for ( TreeItem subItem : item.getItems() ) {
+
+ if( subItem.getText(0).trim().length() == 0 )
+ continue;
+
+ BindingObject bindingData = new BindingObject(subItem.getText(0), subItem.getText(1), subItem.getText(2));
+ parentBindingObject.add(bindingData);
+ makeBindingDataFromTree(subItem, bindingData);
+ }
+ break;
+ }else{
+ BindingObject bindingData = new BindingObject(item.getText(0), item.getText(1), item.getText(2));
+ parentBindingObject.add(bindingData);
+ makeBindingDataFromTree(item, bindingData);
+ }
+ }
+ }else{
+ for ( TreeItem item : items ) {
+ BindingObject bindingData = new BindingObject(item.getText(0), item.getText(1), item.getText(2));
+ parentBindingObject.add(bindingData);
+ makeBindingDataFromTree(item, bindingData);
+ }
+ }
+ }
+
private void loadParentData(TreeItemData treeItemData) {
BindingData dataModel = treeItemData.getModel();
currentSubPage =null;
+ int settingWeight = 3;
+ int shshWidth =1;
+ Composite dataCompositeParent = dataModelGroup;
+
if (dataModel != null) {
if (dataModel.getModelType().equals("STATIC")) {
dataTypeCombo.select(0);
currentSubPage = staticSubPage;
+ settingWeight = 0;
+ shshWidth = 0;
+ dataCompositeParent = staticSubPage.getDataComposite();
} else if (dataModel.getModelType().equals("REMOTE CALL")) {
dataTypeCombo.select(1);
currentSubPage = remoteCallSubPage;
currentSubPage = fileSystemSubPage;
}
+ sashForm.setWeights(new int[] {2, settingWeight});
+ sashForm.setSashWidth(shshWidth);
+ dataComposite.setParent( dataCompositeParent );
+ dataComposite.getParent().layout();
+
Composite settingComposite = currentSubPage.getSettingComposite();
setttingStackLayout.topControl = settingComposite;
currentSubPage.setButtonsState(dataButtonMap);