1 package net.osdn.gokigen.gr2control.camera.olympus.myolycameraprops;
3 import android.os.Bundle;
4 import android.util.Log;
5 import android.view.LayoutInflater;
6 import android.view.View;
7 import android.view.ViewGroup;
8 import android.widget.TabHost;
10 import net.osdn.gokigen.gr2control.R;
12 import androidx.annotation.NonNull;
13 import androidx.fragment.app.DialogFragment;
14 import androidx.fragment.app.Fragment;
15 import androidx.fragment.app.FragmentTabHost;
16 import androidx.viewpager.widget.ViewPager;
19 public class LoadSaveMyCameraPropertyDialog extends DialogFragment implements TabHost.OnTabChangeListener, ViewPager.OnPageChangeListener, ILoadSaveMyCameraPropertyDialogDismiss
21 private final String TAG = toString();
22 private ILoadSaveCameraProperties propertyOperations = null;
23 private FragmentTabHost tabHost = null;
24 private ViewPager viewPager = null;
26 public static LoadSaveMyCameraPropertyDialog newInstance(ILoadSaveCameraProperties holder)
28 LoadSaveMyCameraPropertyDialog instance = new LoadSaveMyCameraPropertyDialog();
29 instance.setPropertyOperationsHolder(holder);
33 private void setPropertyOperationsHolder(ILoadSaveCameraProperties holder)
35 propertyOperations = holder;
40 public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
44 View view = inflater.inflate(R.layout.dialog_my_camera_properties, container);
45 tabHost = view.findViewById(R.id.tabHost01);
46 tabHost.setup(getActivity(), getChildFragmentManager());
47 tabHost.addTab(tabHost.newTabSpec("Load").setIndicator(getString(R.string.title_tab_title_load)), Fragment.class, null);
48 tabHost.addTab(tabHost.newTabSpec("Save").setIndicator(getString(R.string.title_tab_title_save)), Fragment.class, null);
50 tabHost.setOnTabChangedListener(this);
52 LoadSaveMyCameraPropertyPagerAdapter adapter = new LoadSaveMyCameraPropertyPagerAdapter(getChildFragmentManager(), this);
53 adapter.setTitles(new String[]{getString(R.string.title_tab_title_load), getString(R.string.title_tab_title_save)});
55 viewPager = view.findViewById(R.id.pager);
56 viewPager.setAdapter(adapter);
57 //viewPager.setOnPageChangeListener(this);
58 viewPager.addOnPageChangeListener(this);
60 getDialog().setTitle(getString(R.string.title_my_settings));
73 public void onTabChanged(String tabId)
75 Log.v(TAG, "CHANGED TAB : " + tabId);
77 int i = tabHost.getCurrentTab();
78 viewPager.setCurrentItem(i);
82 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
87 public void onPageSelected(int position)
89 Log.v(TAG, "CHANGED PAGER : " + position);
90 tabHost.setCurrentTab(position);
95 public void onPageScrollStateChanged(int state)
101 public void doDismissWithPropertyLoad(final String id, final String name)
104 if (propertyOperations != null)
106 propertyOperations.loadCameraSettings(id, name);
111 public void doDismissWithPropertySave(final String id, final String name)
114 if (propertyOperations != null)
116 propertyOperations.saveCameraSettings(id, name);