From 1b4ae2da4ab4e034fe7d0079da591ccea4bce580 Mon Sep 17 00:00:00 2001 From: jihye kim Date: Sat, 11 Aug 2012 17:06:46 +0900 Subject: [PATCH] [Title] when select 'Location' tap, draw map image [Type] work [Module] event injector [Priority] major [Jira#] S1-6567 [Redmine#] [Problem] [Cause] [Solution] [TestCase] --- .../injector/provider/AbstractInjectorItem.java | 25 +++++++-- .../injector/provider/AbstractInjectorPage.java | 5 ++ .../src/org/tizen/injector/util/FormPageUtil.java | 4 ++ .../src/org/tizen/injector/view/InjectorView.java | 62 ++++++++++++++++++---- .../src/org/tizen/location/log/Log.java | 5 +- .../src/org/tizen/location/manual/Manual.java | 5 +- .../src/org/tizen/location/map/Map.java | 11 ++-- .../tizen/location/map/page/CheckNetThread.java | 2 +- .../src/org/tizen/location/map/page/MapImage.java | 15 ++++-- package/pkginfo.manifest | 2 +- 10 files changed, 108 insertions(+), 28 deletions(-) diff --git a/org.tizen.injector/src/org/tizen/injector/provider/AbstractInjectorItem.java b/org.tizen.injector/src/org/tizen/injector/provider/AbstractInjectorItem.java index 9f1af32..b469ddb 100644 --- a/org.tizen.injector/src/org/tizen/injector/provider/AbstractInjectorItem.java +++ b/org.tizen.injector/src/org/tizen/injector/provider/AbstractInjectorItem.java @@ -42,10 +42,12 @@ import org.tizen.injector.view.InjectorView; public abstract class AbstractInjectorItem { private InjectorView view; - + private Composite parent; + private ArrayList pageList = new ArrayList(); public void createContents(Composite parent, FormPageUtil formUtil){ + this.parent = parent; addPages(); TabFolder tabFolder = new TabFolder(parent, SWT.BORDER); @@ -77,10 +79,23 @@ public abstract class AbstractInjectorItem { public void setView(InjectorView view) { this.view = view; } - - public ArrayList getCategoryItems(String category) { - return view.getCategoryCompositeList(category); + + public ArrayList getCategoryItems(String category) { + return view.getCategoryInjectorItemList(category); } - + + protected ArrayList getPageList() { + return pageList; + } + + public void initializeContents() { + // TODO + // for map loading... (using MapImage) + } + abstract protected void addPages(); + + public Composite getParent() { + return parent; + } } diff --git a/org.tizen.injector/src/org/tizen/injector/provider/AbstractInjectorPage.java b/org.tizen.injector/src/org/tizen/injector/provider/AbstractInjectorPage.java index d0b685a..385b2cc 100644 --- a/org.tizen.injector/src/org/tizen/injector/provider/AbstractInjectorPage.java +++ b/org.tizen.injector/src/org/tizen/injector/provider/AbstractInjectorPage.java @@ -77,6 +77,11 @@ public abstract class AbstractInjectorPage { receiverList.add(receiver); } + public void initializeContents() { + // TODO + // usgin Map Image... + } + protected abstract void createContents(); protected abstract void registerReceivers(); diff --git a/org.tizen.injector/src/org/tizen/injector/util/FormPageUtil.java b/org.tizen.injector/src/org/tizen/injector/util/FormPageUtil.java index dec1c7f..f35c03e 100644 --- a/org.tizen.injector/src/org/tizen/injector/util/FormPageUtil.java +++ b/org.tizen.injector/src/org/tizen/injector/util/FormPageUtil.java @@ -147,6 +147,10 @@ public class FormPageUtil { return label; } + public Label createSeperator(Composite parent, boolean isVertical) { + return toolkit.createLabel(parent, "", SWT.SEPARATOR | + (isVertical ? SWT.VERTICAL : SWT.HORIZONTAL)); + } public Text createText(Composite parent, String title) { Text text = toolkit.createText(parent, title, SWT.BORDER); text.setTextLimit(TEXT_LIMIT); diff --git a/org.tizen.injector/src/org/tizen/injector/view/InjectorView.java b/org.tizen.injector/src/org/tizen/injector/view/InjectorView.java index 0c0a003..b50c0dc 100644 --- a/org.tizen.injector/src/org/tizen/injector/view/InjectorView.java +++ b/org.tizen.injector/src/org/tizen/injector/view/InjectorView.java @@ -56,6 +56,8 @@ import org.tizen.injector.util.FormPageUtil; import org.tizen.sdblib.FileListingService.FileEntry; import org.tizen.sdblib.IDevice; import org.tizen.sdblib.Log; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; public class InjectorView extends ViewPart implements ISelectionListener { @@ -69,7 +71,7 @@ ISelectionListener { static public boolean desposing = false; static public boolean activated = false; static public boolean disconnect_finished = true; - + static private TabFolder tabFolder; public final static String VIEW_ID = "org.tizen.injector.view.InjectorView"; /* @@ -80,7 +82,8 @@ ISelectionListener { private ArrayList categoryList = new ArrayList(); private ArrayList formUtilList = new ArrayList(); - private ArrayList> compositeArrayList = new ArrayList>(); +// private ArrayList> compositeArrayList = new ArrayList>(); + private ArrayList> injectorItemList = new ArrayList>(); private final ArrayList listeners = new ArrayList(); private static InjectorView view = null; @@ -94,10 +97,11 @@ ISelectionListener { view = this; getCategories(); - TabFolder tabFolder = createTabFolder(parent); + tabFolder = createTabFolder(parent); for (int i = 0; i < categoryList.size(); i++) { - compositeArrayList.add(new ArrayList()); +// compositeArrayList.add(new ArrayList()); + injectorItemList.add(new ArrayList()); TabItem tabItem = createTabItem(tabFolder, categoryList.get(i)); formUtilList .add(new FormPageUtil((Composite) tabItem.getControl())); @@ -108,9 +112,21 @@ ISelectionListener { } private TabFolder createTabFolder(Composite parent) { - TabFolder tabFolder = new TabFolder(parent, SWT.NONE); + tabFolder = new TabFolder(parent, SWT.NONE); tabFolder.setLayout(new FillLayout()); + tabFolder.addSelectionListener(new SelectionAdapter(){ + public void widgetSelected(SelectionEvent e) { + if (activated) { + String name = tabFolder.getSelection()[0].getText(); + int i = categoryList.indexOf(name.trim()); + ArrayList itemList = injectorItemList.get(i); + for (AbstractInjectorItem item: itemList) { + item.initializeContents(); + } + } + } + }); return tabFolder; } @@ -123,14 +139,12 @@ ISelectionListener { else tabItem.setText(text); tabItem.setControl(createTabItemComposite(parent)); - return tabItem; } private Composite createTabItemComposite(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new FillLayout()); - return composite; } @@ -207,13 +221,14 @@ ISelectionListener { Composite client = formUtilList.get(index) .createCategory(name); client.getParent().setEnabled(false); - compositeArrayList.get(index).add(client); + //compositeArrayList.get(index).add(client); try { executor = (AbstractInjectorItem) (configElements[i] .createExecutableExtension(ATTR_CLASS)); executor.createContents(client, formUtilList .get(index)); executor.setView(this); + injectorItemList.get(index).add(executor); } catch (CoreException e) { e.printStackTrace(); } @@ -225,16 +240,26 @@ ISelectionListener { } public void activate() { + /* for (int i = 0; i < compositeArrayList.size(); i++) { for (int j = 0; j < compositeArrayList.get(i).size(); j++) { Composite client = compositeArrayList.get(i).get(j); client.getParent().setEnabled(true); } } + */ + + for (int i = 0; i < injectorItemList.size(); i++) { + for (int j = 0; j < injectorItemList.get(i).size(); j++) { + Composite client = injectorItemList.get(i).get(j).getParent(); + client.getParent().setEnabled(true); + } + } activated = true; } public void inactivateUI() { + /* for (int i = 0; i < compositeArrayList.size(); i++) { for (int j = 0; j < compositeArrayList.get(i).size(); j++) { Composite client = compositeArrayList.get(i).get(j); @@ -243,6 +268,15 @@ ISelectionListener { section.setEnabled(false); } } + */ + for (int i = 0; i < injectorItemList.size(); i++) { + for (int j = 0; j < injectorItemList.get(i).size(); j++) { + Composite client = injectorItemList.get(i).get(j).getParent(); + Section section = (Section) client.getParent(); + section.setExpanded(false); + section.setEnabled(false); + } + } activated = false; } @@ -344,7 +378,7 @@ ISelectionListener { public ArrayList getCategoryList() { return this.categoryList; } - + /* public ArrayList getCategoryCompositeList(String category) { int i = categoryList.indexOf(category); @@ -354,6 +388,16 @@ ISelectionListener { return null; } + */ + public ArrayList getCategoryInjectorItemList(String category) { + int i = categoryList.indexOf(category); + + if(i > -1) { + return injectorItemList.get(i); + } + + return null; + } @Override public void selectionChanged(FileEntry selectedEntry) { diff --git a/org.tizen.location.log/src/org/tizen/location/log/Log.java b/org.tizen.location.log/src/org/tizen/location/log/Log.java index b8eb426..20e80a8 100644 --- a/org.tizen.location.log/src/org/tizen/location/log/Log.java +++ b/org.tizen.location.log/src/org/tizen/location/log/Log.java @@ -29,7 +29,6 @@ package org.tizen.location.log; import java.util.ArrayList; -import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.widgets.Section; import org.tizen.injector.provider.AbstractInjectorItem; @@ -44,9 +43,9 @@ public class Log extends AbstractInjectorItem { } public void setSiblingsEnabled(boolean enabled) { - ArrayList list = getCategoryItems("Location"); //$NON-NLS-1$ + ArrayList list = getCategoryItems("Location"); //$NON-NLS-1$ for (int i = 0; i < list.size(); i++) { - Section parent = (Section) list.get(i).getParent(); + Section parent = (Section) list.get(i).getParent().getParent(); if (!parent.getText().equals(LABEL)) { if(!enabled) { parent.setExpanded(enabled); diff --git a/org.tizen.location.manual/src/org/tizen/location/manual/Manual.java b/org.tizen.location.manual/src/org/tizen/location/manual/Manual.java index 268a7ca..6feb571 100644 --- a/org.tizen.location.manual/src/org/tizen/location/manual/Manual.java +++ b/org.tizen.location.manual/src/org/tizen/location/manual/Manual.java @@ -29,7 +29,6 @@ package org.tizen.location.manual; import java.util.ArrayList; -import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.widgets.Section; import org.tizen.injector.provider.AbstractInjectorItem; @@ -44,9 +43,9 @@ public class Manual extends AbstractInjectorItem { } public void setSiblingsEnabled(boolean enabled) { - ArrayList list = getCategoryItems("Location"); //$NON-NLS-1$ + ArrayList list = getCategoryItems("Location"); //$NON-NLS-1$ for (int i = 0; i < list.size(); i++) { - Section parent = (Section) list.get(i).getParent(); + Section parent = (Section) list.get(i).getParent().getParent(); if (!parent.getText().equals(LABEL)) { if(!enabled) { parent.setExpanded(enabled); diff --git a/org.tizen.location.map/src/org/tizen/location/map/Map.java b/org.tizen.location.map/src/org/tizen/location/map/Map.java index 30554d8..e260182 100644 --- a/org.tizen.location.map/src/org/tizen/location/map/Map.java +++ b/org.tizen.location.map/src/org/tizen/location/map/Map.java @@ -33,11 +33,11 @@ import java.util.ArrayList; //import org.eclipse.core.net.proxy.IProxyData; //import org.eclipse.core.net.proxy.IProxyService; import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.widgets.Section; import org.tizen.injector.model.DefaultTableModel; import org.tizen.injector.provider.AbstractInjectorItem; +import org.tizen.injector.provider.AbstractInjectorPage; //import org.tizen.location.core.injector.DebugLog; import org.tizen.location.core.model.GeoLocationVO; import org.tizen.location.map.page.MapImage; @@ -56,6 +56,11 @@ public class Map extends AbstractInjectorItem { addPage(new MapImage(this, Messages.Map_1, model)); } + public void initializeContents() { + for (AbstractInjectorPage page : getPageList()) { + page.initializeContents(); + } + } /* private void init() { // Get Preferences - General - Network Connections @@ -98,9 +103,9 @@ public class Map extends AbstractInjectorItem { } public void setSiblingsEnabled(boolean enabled) { - ArrayList list = getCategoryItems("Location"); //$NON-NLS-1$ + ArrayList list = getCategoryItems("Location"); //$NON-NLS-1$ for (int i = 0; i < list.size(); i++) { - Section parent = (Section) list.get(i).getParent(); + Section parent = (Section) list.get(i).getParent().getParent(); if (!parent.getText().equals(LABEL)) { if(!enabled) { parent.setExpanded(enabled); diff --git a/org.tizen.location.map/src/org/tizen/location/map/page/CheckNetThread.java b/org.tizen.location.map/src/org/tizen/location/map/page/CheckNetThread.java index b25c3b9..a359d55 100644 --- a/org.tizen.location.map/src/org/tizen/location/map/page/CheckNetThread.java +++ b/org.tizen.location.map/src/org/tizen/location/map/page/CheckNetThread.java @@ -15,7 +15,7 @@ public class CheckNetThread extends Thread { private boolean checkGoogle() { try { //make a URL to a known source - URL url = new URL("http://slp-info.sec.samsung.net"); + URL url = new URL("http://www.google.com/"); //open a connection to that source HttpURLConnection urlConnect = (HttpURLConnection)url.openConnection(); diff --git a/org.tizen.location.map/src/org/tizen/location/map/page/MapImage.java b/org.tizen.location.map/src/org/tizen/location/map/page/MapImage.java index 2f92ed5..e16a2cc 100644 --- a/org.tizen.location.map/src/org/tizen/location/map/page/MapImage.java +++ b/org.tizen.location.map/src/org/tizen/location/map/page/MapImage.java @@ -86,6 +86,7 @@ public class MapImage extends AbstractInjectorPage { private Button injectButton; private Button resetButton; private Button cancelButton; + private boolean isInitailize = false; private LocationInjector injector = null; private Job injectJob = null; @@ -98,9 +99,7 @@ public class MapImage extends AbstractInjectorPage { @Override protected void createContents() { - createGoogleMapScript(); - createMapComposite(); - ((Map) getParent()).addViewer(viewer); + } @Override @@ -109,6 +108,16 @@ public class MapImage extends AbstractInjectorPage { } + @Override + public void initializeContents() { + if (!isInitailize) { + createGoogleMapScript(); + createMapComposite(); + ((Map) getParent()).addViewer(viewer); + isInitailize = true; + } + } + private String host = null; private int port = -1; diff --git a/package/pkginfo.manifest b/package/pkginfo.manifest index 990339f..6d89421 100644 --- a/package/pkginfo.manifest +++ b/package/pkginfo.manifest @@ -1,5 +1,5 @@ Source:eventinjector-eplugin -Version:0.2.53 +Version:0.2.54 Maintainer:yeongkyoon Lee , sungmin Ha Package:eventinjector-eplugin -- 2.7.4