Simulator Client controller plug-in changes:
[platform/upstream/iotivity.git] / service / simulator / java / eclipse-plugin / ClientControllerPlugin / src / oic / simulator / clientcontroller / view / AttributeView.java
index f91a752..af503ce 100644 (file)
@@ -32,9 +32,9 @@ import oic.simulator.clientcontroller.remoteresource.PutPostAttributeModel;
 import oic.simulator.clientcontroller.remoteresource.RemoteResource;
 import oic.simulator.clientcontroller.remoteresource.RemoteResourceAttribute;
 import oic.simulator.clientcontroller.utils.Constants;
-import oic.simulator.clientcontroller.view.dialogs.VerificationDialog;
 import oic.simulator.clientcontroller.view.dialogs.PostRequestDialog;
 import oic.simulator.clientcontroller.view.dialogs.PutRequestDialog;
+import oic.simulator.clientcontroller.view.dialogs.VerificationDialog;
 
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
@@ -45,10 +45,6 @@ import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerCell;
 import org.eclipse.jface.window.Window;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabFolder2Adapter;
-import org.eclipse.swt.custom.CTabFolderEvent;
-import org.eclipse.swt.custom.CTabItem;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.graphics.Color;
@@ -59,7 +55,6 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.part.ViewPart;
 
@@ -78,12 +73,6 @@ public class AttributeView extends ViewPart {
     private Button                              automateButton;
     private Button                              observeResButton;
 
-    private CTabFolder                          payloadFolder;
-    private CTabItem                            requestPayloadTab;
-    private CTabItem                            responsePayloadTab;
-    private Text                                requestPayloadTxt;
-    private Text                                responsePayloadTxt;
-
     private final String[]                      attTblHeaders  = {
             "Attribute Name", "Attribute Value"               };
     private final Integer[]                     attTblColWidth = { 200, 200 };
@@ -279,7 +268,7 @@ public class AttributeView extends ViewPart {
 
                     @Override
                     public void run() {
-                        changeReqBtnVisibility(autoType, false);
+                        // changeReqBtnVisibility(autoType, false);
                     }
                 });
             }
@@ -291,7 +280,7 @@ public class AttributeView extends ViewPart {
 
                     @Override
                     public void run() {
-                        changeReqBtnVisibility(autoType, true);
+                        // changeReqBtnVisibility(autoType, true);
                     }
                 });
             }
@@ -303,7 +292,7 @@ public class AttributeView extends ViewPart {
 
                     @Override
                     public void run() {
-                        changeReqBtnVisibility(autoType, true);
+                        // changeReqBtnVisibility(autoType, true);
                     }
                 });
             }
@@ -381,12 +370,14 @@ public class AttributeView extends ViewPart {
     }
 
     private void updateObserve(RemoteResource resource) {
-        if (null == resource) {
+        if (null == resource || observeResButton.isDisposed()) {
             return;
         }
         boolean observed = resource.isObserved();
-        if (!observeResButton.isDisposed()) {
-            observeResButton.setSelection(observed);
+        if (observed) {
+            observeResButton.setText(Constants.STOP_OBSERVE);
+        } else {
+            observeResButton.setText(Constants.OBSERVE);
         }
     }
 
@@ -394,7 +385,7 @@ public class AttributeView extends ViewPart {
     public void createPartControl(Composite parent) {
         Color color = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
 
-        parent.setLayout(new GridLayout(2, false));
+        parent.setLayout(new GridLayout());
         GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
         parent.setLayoutData(gd);
 
@@ -403,19 +394,17 @@ public class AttributeView extends ViewPart {
         gd = new GridData();
         gd.grabExcessHorizontalSpace = true;
         gd.horizontalAlignment = SWT.FILL;
+        gd.grabExcessVerticalSpace = true;
+        gd.verticalAlignment = SWT.FILL;
         gd.horizontalSpan = 2;
-        gd.heightHint = 175;
+        // gd.heightHint = 175;
         attGroup.setLayoutData(gd);
         attGroup.setText("Attributes");
         attGroup.setBackground(color);
 
         setupAttributeTable(attGroup);
 
-        setupMessageArea(parent);
-
-        setupResourceLevelOpsArea(parent);
-
-        setupTabArea(parent);
+        setupRequestControls(parent);
 
         setUIListeners();
 
@@ -430,20 +419,19 @@ public class AttributeView extends ViewPart {
         }
     }
 
-    private void setupMessageArea(Composite parent) {
+    private void setupRequestControls(Composite parent) {
         GridData gd;
         Color color = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
-        Group msgTypesGrp = new Group(parent, SWT.NONE);
+        Composite opsComp = new Composite(parent, SWT.NONE);
         gd = new GridData();
         gd.grabExcessHorizontalSpace = true;
         gd.horizontalAlignment = SWT.FILL;
-        msgTypesGrp.setLayoutData(gd);
-        GridLayout grid = new GridLayout(3, false);
-        msgTypesGrp.setLayout(grid);
-        msgTypesGrp.setText("Request Types");
-        msgTypesGrp.setBackground(color);
+        opsComp.setLayoutData(gd);
+        GridLayout grid = new GridLayout(5, false);
+        opsComp.setLayout(grid);
+        opsComp.setBackground(color);
 
-        getButton = new Button(msgTypesGrp, SWT.PUSH);
+        getButton = new Button(opsComp, SWT.PUSH);
         getButton.setText("GET");
         gd = new GridData();
         gd.grabExcessHorizontalSpace = true;
@@ -451,7 +439,7 @@ public class AttributeView extends ViewPart {
         gd.widthHint = 50;
         getButton.setLayoutData(gd);
 
-        putButton = new Button(msgTypesGrp, SWT.PUSH);
+        putButton = new Button(opsComp, SWT.PUSH);
         putButton.setText("PUT");
         gd = new GridData();
         gd.grabExcessHorizontalSpace = true;
@@ -459,100 +447,27 @@ public class AttributeView extends ViewPart {
         gd.widthHint = 50;
         putButton.setLayoutData(gd);
 
-        postButton = new Button(msgTypesGrp, SWT.PUSH);
+        postButton = new Button(opsComp, SWT.PUSH);
         postButton.setText("POST");
         gd = new GridData();
         gd.grabExcessHorizontalSpace = true;
         gd.horizontalAlignment = SWT.FILL;
         gd.widthHint = 50;
         postButton.setLayoutData(gd);
-    }
 
-    private void setupResourceLevelOpsArea(Composite parent) {
-        GridData gd;
-        Color color = Display.getDefault().getSystemColor(SWT.COLOR_WHITE);
-        Group resOpsGrp = new Group(parent, SWT.NONE);
+        observeResButton = new Button(opsComp, SWT.PUSH);
+        observeResButton.setText(Constants.OBSERVE);
         gd = new GridData();
         gd.grabExcessHorizontalSpace = true;
         gd.horizontalAlignment = SWT.FILL;
-        resOpsGrp.setLayoutData(gd);
-        GridLayout grid = new GridLayout(2, false);
-        resOpsGrp.setLayout(grid);
-        resOpsGrp.setText("Resource-Level Operations");
-        resOpsGrp.setBackground(color);
+        observeResButton.setLayoutData(gd);
 
-        automateButton = new Button(resOpsGrp, SWT.PUSH);
+        automateButton = new Button(opsComp, SWT.PUSH);
         automateButton.setText("Automation");
         gd = new GridData();
         gd.grabExcessHorizontalSpace = true;
         gd.horizontalAlignment = SWT.FILL;
         automateButton.setLayoutData(gd);
-
-        observeResButton = new Button(resOpsGrp, SWT.CHECK);
-        observeResButton.setText("Observe");
-        gd = new GridData();
-        gd.grabExcessHorizontalSpace = true;
-        gd.horizontalAlignment = SWT.FILL;
-        observeResButton.setLayoutData(gd);
-    }
-
-    private void setupTabArea(final Composite parent) {
-        GridData gd;
-        payloadFolder = new CTabFolder(parent, SWT.BORDER);
-        gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-        gd.horizontalSpan = 2;
-        payloadFolder.setLayoutData(gd);
-        payloadFolder.setSimple(false);
-        payloadFolder.setUnselectedCloseVisible(false);
-        payloadFolder.setUnselectedImageVisible(false);
-        // payloadFolder.setMaximizeVisible(true);
-        // payloadFolder.setMinimizeVisible(true);
-
-        requestPayloadTab = new CTabItem(payloadFolder, SWT.NULL);
-        requestPayloadTab.setText("Request Payload");
-
-        requestPayloadTxt = new Text(payloadFolder, SWT.MULTI | SWT.V_SCROLL
-                | SWT.H_SCROLL | SWT.READ_ONLY | SWT.WRAP);
-        requestPayloadTab.setControl(requestPayloadTxt);
-
-        responsePayloadTab = new CTabItem(payloadFolder, SWT.NULL);
-        responsePayloadTab.setText("Response Payload");
-
-        responsePayloadTxt = new Text(payloadFolder, SWT.MULTI | SWT.V_SCROLL
-                | SWT.H_SCROLL | SWT.READ_ONLY | SWT.WRAP);
-        responsePayloadTab.setControl(responsePayloadTxt);
-
-        // Add Listeners
-
-        payloadFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {
-            @Override
-            public void minimize(CTabFolderEvent event) {
-                payloadFolder.setMinimized(true);
-                GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
-                gd.horizontalSpan = 2;
-                payloadFolder.setLayoutData(gd);
-                parent.layout(true);
-            }
-
-            @Override
-            public void maximize(CTabFolderEvent event) {
-                payloadFolder.setMaximized(true);
-                GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-                gd.horizontalSpan = 2;
-                payloadFolder.setLayoutData(gd);
-                parent.layout(true);
-            }
-
-            @Override
-            public void restore(CTabFolderEvent event) {
-                payloadFolder.setMaximized(false);
-                payloadFolder.setMinimized(false);
-                GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
-                gd.horizontalSpan = 2;
-                payloadFolder.setLayoutData(gd);
-                parent.layout(true);
-            }
-        });
     }
 
     private void setupAttributeTable(Group attGroup) {
@@ -701,12 +616,13 @@ public class AttributeView extends ViewPart {
         observeResButton.addSelectionListener(new SelectionAdapter() {
             @Override
             public void widgetSelected(SelectionEvent e) {
-                boolean checked = observeResButton.getSelection();
-                if (checked) {
+                if (observeResButton.getText().equals(Constants.OBSERVE)) {
                     resourceManager.sendObserveRequest(resourceInSelection);
+                    observeResButton.setText(Constants.STOP_OBSERVE);
                 } else {
                     resourceManager
                             .sendCancelObserveRequest(resourceInSelection);
+                    observeResButton.setText(Constants.OBSERVE);
                 }
             }
         });