OSDN Git Service

androidx に置き換えた。
[gokigen/Gr2Control.git] / app / src / main / java / net / osdn / gokigen / gr2control / camera / olympus / myolycameraprops / LoadSaveMyCameraPropertyDialog.java
1 package net.osdn.gokigen.gr2control.camera.olympus.myolycameraprops;
2
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;
9
10 import net.osdn.gokigen.gr2control.R;
11
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;
17
18
19 public class LoadSaveMyCameraPropertyDialog extends DialogFragment implements TabHost.OnTabChangeListener, ViewPager.OnPageChangeListener, ILoadSaveMyCameraPropertyDialogDismiss
20 {
21     private final String TAG = toString();
22     private ILoadSaveCameraProperties propertyOperations = null;
23     private FragmentTabHost tabHost = null;
24     private ViewPager viewPager = null;
25
26     public static LoadSaveMyCameraPropertyDialog newInstance(ILoadSaveCameraProperties holder)
27     {
28         LoadSaveMyCameraPropertyDialog instance = new LoadSaveMyCameraPropertyDialog();
29         instance.setPropertyOperationsHolder(holder);
30         return (instance);
31     }
32
33     private void setPropertyOperationsHolder(ILoadSaveCameraProperties holder)
34     {
35         propertyOperations = holder;
36     }
37
38     /**/
39     @Override
40     public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
41     {
42         try
43         {
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);
49
50             tabHost.setOnTabChangedListener(this);
51
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)});
54
55             viewPager = view.findViewById(R.id.pager);
56             viewPager.setAdapter(adapter);
57             //viewPager.setOnPageChangeListener(this);
58             viewPager.addOnPageChangeListener(this);
59
60             getDialog().setTitle(getString(R.string.title_my_settings));
61             return (view);
62
63         }
64         catch (Exception e)
65         {
66             e.printStackTrace();
67         }
68         return (null);
69
70     }
71
72     @Override
73     public void onTabChanged(String tabId)
74     {
75         Log.v(TAG, "CHANGED TAB : " + tabId);
76
77         int i = tabHost.getCurrentTab();
78         viewPager.setCurrentItem(i);
79     }
80
81     @Override
82     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
83
84     }
85
86     @Override
87     public void onPageSelected(int position)
88     {
89         Log.v(TAG, "CHANGED PAGER : " + position);
90         tabHost.setCurrentTab(position);
91
92     }
93
94     @Override
95     public void onPageScrollStateChanged(int state)
96     {
97
98     }
99
100     @Override
101     public void doDismissWithPropertyLoad(final String id, final String name)
102     {
103         dismiss();
104         if (propertyOperations != null)
105         {
106             propertyOperations.loadCameraSettings(id, name);
107         }
108     }
109
110     @Override
111     public void doDismissWithPropertySave(final String id, final String name)
112     {
113         dismiss();
114         if (propertyOperations != null)
115         {
116             propertyOperations.saveCameraSettings(id, name);
117         }
118     }
119 }