Skip to content
Snippets Groups Projects
Commit 6d5146bc authored by Xavier Gibert's avatar Xavier Gibert
Browse files

Multi-dimnsional menu for views working, going to remove spinner

parent 225cfde2
No related branches found
No related tags found
No related merge requests found
......@@ -208,31 +208,31 @@ function showAndroidToast(toast) {
sunGlow.visible=false;
camera.position = sun.position.clone().normalize().multiplyScalar(getCamDistance());
break;
case "S/C-xyz"://Spacecraft
case "S/C-XYZ"://Spacecraft
camera.position = init_sc_dir_xyz.clone().applyQuaternion(spacecraft.quaternion.clone().normalize()).multiplyScalar(getCamDistance());
camera.up = init_sc_up_xyz.clone().applyQuaternion(spacecraft.quaternion.clone().normalize());
break;
case "S/C-rear"://Spacecraft
case "S/C-Rear"://Spacecraft
camera.position = init_sc_dir_rear.clone().applyQuaternion(spacecraft.quaternion.clone().normalize()).multiplyScalar(getCamDistance());
camera.up = init_sc_up_rear.clone().applyQuaternion(spacecraft.quaternion.clone().normalize());
break;
case "S/C-front"://Spacecraft
case "S/C-Front"://Spacecraft
camera.position = init_sc_dir_front.clone().applyQuaternion(spacecraft.quaternion.clone().normalize()).multiplyScalar(getCamDistance());
camera.up = init_sc_up_front.clone().applyQuaternion(spacecraft.quaternion.clone().normalize());
break;
case "S/C-top"://Spacecraft
case "S/C-Top"://Spacecraft
camera.position = init_sc_dir_top.clone().applyQuaternion(spacecraft.quaternion.clone().normalize()).multiplyScalar(getCamDistance());
camera.up = init_sc_up_top.clone().applyQuaternion(spacecraft.quaternion.clone().normalize());
break;
case "S/C-bottom"://Spacecraft
case "S/C-Bottom"://Spacecraft
camera.position = init_sc_dir_bottom.clone().applyQuaternion(spacecraft.quaternion.clone().normalize()).multiplyScalar(getCamDistance());
camera.up = init_sc_up_bottom.clone().applyQuaternion(spacecraft.quaternion.clone().normalize());
break;
case "S/C-left"://Spacecraft
case "S/C-Left"://Spacecraft
camera.position = init_sc_dir_left.clone().applyQuaternion(spacecraft.quaternion.clone().normalize()).multiplyScalar(getCamDistance());
camera.up = init_sc_up_left.clone().applyQuaternion(spacecraft.quaternion.clone().normalize());
break;
case "S/C-right"://Spacecraft
case "S/C-Right"://Spacecraft
camera.position = init_sc_dir_right.clone().applyQuaternion(spacecraft.quaternion.clone().normalize()).multiplyScalar(getCamDistance());
camera.up = init_sc_up_right.clone().applyQuaternion(spacecraft.quaternion.clone().normalize());
break;
......
......@@ -19,7 +19,7 @@
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:id="@+id/buttonViews"
android:layout_width="100dp"
android:layout_height="0dp"
android:layout_weight="1"
......
......@@ -74,6 +74,16 @@
android:text="@string/fps_zero"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/white" />
<Button
android:id="@+id/buttonViews"
android:layout_width="90dp"
android:layout_height="wrap_content"
android:background="@drawable/view_selector"
android:minHeight="30dp"
android:text="@string/view_xyz"
android:textAppearance="?android:attr/textAppearanceSmall" />
</FrameLayout>
<FrameLayout
......
......@@ -17,7 +17,7 @@
android:gravity="fill_horizontal" >
<Button
android:id="@+id/button1"
android:id="@+id/buttonViews"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
......
......@@ -17,6 +17,8 @@
<string name="menu_views_spacecraft_bottom">Bottom</string>
<string name="menu_views_spacecraft_left">Left</string>
<string name="menu_views_spacecraft_right">Right</string>
<string name="menu_views_earth">Earth</string>
<string name="menu_views_sun">Sun</string>
<string name="app_name">SatAtt</string>
......
......@@ -12,14 +12,20 @@ import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.app.Fragment;
import android.support.v7.widget.PopupMenu.OnMenuItemClickListener;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.PopupMenu;
import android.widget.SlidingDrawer;
import android.widget.Spinner;
import android.widget.TextView;
......@@ -55,7 +61,8 @@ public final class HudFragment extends Fragment implements OnItemSelectedListene
private Simulator simulator;
XWalkView browser;
LinearLayout browserLayout, slider_content;
Button views_menu;
@SuppressWarnings("deprecation")
@SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled", "NewApi" })
@Override
......@@ -107,7 +114,7 @@ public final class HudFragment extends Fragment implements OnItemSelectedListene
browserSettings.setAllowUniversalAccessFromFileURLs(true);
//browserSettings.setBuiltInZoomControls(true);
//browserSettings.setDisplayZoomControls(true);
//browserSettings.setSupportZoom(true);
//browserSettings.setSupportZoom(true);, OnMenuItemClickListener
browser.clearCache(true);
......@@ -129,6 +136,15 @@ public final class HudFragment extends Fragment implements OnItemSelectedListene
Spinner spinner = (Spinner) rootView.findViewById(R.id.spinnerView);
spinner.setOnItemSelectedListener(this);
views_menu = (Button) rootView.findViewById(R.id.buttonViews);
views_menu.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
showPopup(arg0);
}
});
//Play/Pause/Stop buttons
ImageButton but_play = (ImageButton)rootView.findViewById(R.id.imageButtonPlay);
ImageButton but_stop = (ImageButton)rootView.findViewById(R.id.imageButtonStop);
......@@ -176,6 +192,64 @@ public final class HudFragment extends Fragment implements OnItemSelectedListene
// Another interface callback
}
private void showPopup(View v) {
PopupMenu popup = new PopupMenu(getActivity(), v);
// This activity implements OnMenuItemClickListener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
String com_view = (String)item.getTitle();
switch (item.getItemId()) {
case R.id.menu_views_earth:
break;
case R.id.menu_views_sun:
break;
case R.id.menu_views_ref_frame_xyz:
break;
case R.id.menu_views_ref_frame_x:
break;
case R.id.menu_views_ref_frame_xx:
break;
case R.id.menu_views_ref_frame_y:
break;
case R.id.menu_views_ref_frame_yy:
break;
case R.id.menu_views_ref_frame_z:
break;
case R.id.menu_views_ref_frame_zz:
break;
case R.id.menu_views_spacecraft_xyz:
com_view = "S/C-" + com_view;
break;
case R.id.menu_views_spacecraft_rear:
com_view = "S/C-" + com_view;
break;
case R.id.menu_views_spacecraft_front:
com_view = "S/C-" + com_view;
break;
case R.id.menu_views_spacecraft_top:
com_view = "S/C-" + com_view;
break;
case R.id.menu_views_spacecraft_bottom:
com_view = "S/C-" + com_view;
break;
case R.id.menu_views_spacecraft_left:
com_view = "S/C-" + com_view;
break;
case R.id.menu_views_spacecraft_right:
com_view = "S/C-" + com_view;
break;
default:
return false;
}
views_menu.setText(com_view);
browser.load("javascript:changeView('"+com_view+"')", null);
return true;
}
});
popup.inflate(R.menu.views);
popup.show();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment