OSDN Git Service

ワークスペース初期構築
[jugglemaster/source.git] / workspace / JuggleMaster / src / com / jm / GenPattern.java
1 package com.jm;\r
2 \r
3 import java.util.List;\r
4 \r
5 import android.content.Intent;\r
6 import android.os.Bundle;\r
7 import android.view.View;\r
8 import android.view.View.OnClickListener;\r
9 import android.widget.ArrayAdapter;\r
10 import android.widget.Button;\r
11 import android.widget.RadioButton;\r
12 import android.widget.RadioGroup;\r
13 import android.widget.Spinner;\r
14 import android.widget.Toast;\r
15 \r
16 import com.jm.gen.MainGen;\r
17 import com.jm.utility.AsyncTaskCommand;\r
18 import com.jm.utility.BaseActivity;\r
19 import com.jm.utility.SpinnersItemSelectedListener;\r
20 \r
21 public class GenPattern extends BaseActivity {\r
22         private int MAX = 35;\r
23         private int position = 2;\r
24         private int type = 7;\r
25         private Button createButton;\r
26         private Button cancelButton;\r
27         private RadioGroup radioGroup;\r
28         private RadioButton radioButton1;\r
29         private RadioButton radioButton2;\r
30         private Spinner spinnerBalls;\r
31         private Spinner spinnerHeight;\r
32         private Spinner spinnerPeriod1;\r
33         private Spinner spinnerPeriod2;\r
34         private Spinner spinnerMax;\r
35         private MainGen gen;\r
36         private AsyncTaskCommand command;\r
37         private int mode = MainGen.SPT_NORMAL;\r
38         \r
39         @Override\r
40         public void onCreate(Bundle savedInstanceState) {\r
41                 super.onCreate(savedInstanceState);\r
42                 setContentView(R.layout.genpattern);\r
43 \r
44                 createButton = (Button) findViewById(R.id.button71);\r
45                 createButton.setOnClickListener(new OnClickListener() {\r
46                         @Override\r
47                         public void onClick(View arg0) {\r
48                                 doCreateButton();\r
49                         }\r
50                 });\r
51 \r
52                 cancelButton = (Button) findViewById(R.id.button73);\r
53                 cancelButton.setOnClickListener(new OnClickListener() {\r
54                         @Override\r
55                         public void onClick(View arg0) {\r
56                                 finish();\r
57                         }\r
58                 });\r
59 \r
60                 spinnerBalls = (Spinner) findViewById(R.id.spinner71);\r
61                 spinnerHeight = (Spinner) findViewById(R.id.spinner72);\r
62                 spinnerPeriod1 = (Spinner) findViewById(R.id.spinner73);\r
63                 spinnerPeriod2 = (Spinner) findViewById(R.id.spinner74);\r
64                 spinnerMax = (Spinner) findViewById(R.id.spinner75);\r
65                 \r
66                 new SpinnersItemSelectedListener(\r
67                                 spinnerBalls, spinnerHeight, true);\r
68                 new SpinnersItemSelectedListener(\r
69                                 spinnerHeight, spinnerBalls, false);\r
70 \r
71                 new SpinnersItemSelectedListener(\r
72                                 spinnerPeriod1, spinnerPeriod2, true);\r
73                 new SpinnersItemSelectedListener(\r
74                                 spinnerPeriod2, spinnerPeriod1, false);\r
75                 \r
76                 radioGroup = (RadioGroup) findViewById(R.id.radiogroup71);\r
77                 radioGroup.check(R.id.radio71);\r
78                 radioButton1 = (RadioButton) findViewById(R.id.radio71);\r
79                 radioButton2 = (RadioButton) findViewById(R.id.radio72);\r
80                 radioGroup\r
81                                 .setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {\r
82                                         public void onCheckedChanged(RadioGroup group, int checkedId) {\r
83                                                 if (radioButton1.isChecked()){\r
84                                                         mode = MainGen.SPT_NORMAL;\r
85                                                 }\r
86                                                 else {\r
87                                                         mode = MainGen.SPT_SYNCHRO;\r
88                                                 }\r
89                                         }\r
90                                 });\r
91                 \r
92                 String[] item = new String[MAX];\r
93                 for (int i = 0; i < MAX; i++){\r
94                         item[i] = "" + (i + 1);\r
95                 }\r
96                 ArrayAdapter<String> adapter = new ArrayAdapter<String>(\r
97                                 this, android.R.layout.simple_spinner_item, item);\r
98                 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);\r
99 \r
100                 spinnerBalls.setAdapter(adapter);\r
101                 spinnerBalls.setSelection(position);\r
102 \r
103                 spinnerHeight.setAdapter(adapter);\r
104                 spinnerHeight.setSelection(position);\r
105 \r
106                 spinnerPeriod1.setAdapter(adapter);\r
107                 spinnerPeriod1.setSelection(0);\r
108 \r
109                 spinnerPeriod2.setAdapter(adapter);\r
110                 spinnerPeriod2.setSelection(position);\r
111                 \r
112                 String[] max = { "10", "100", "500", "1000" };\r
113                 ArrayAdapter<String> adapterMax = new ArrayAdapter<String>(\r
114                                 this, android.R.layout.simple_spinner_item, max);\r
115                 adapterMax.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);\r
116                 spinnerMax.setAdapter(adapterMax);\r
117                 spinnerMax.setSelection(1);\r
118         }\r
119 \r
120         @Override\r
121         protected void onStart() {\r
122                 super.onStart();\r
123                 \r
124                 setEnabled(true);\r
125                 // TODO\r
126                 Menu2.setList(null);\r
127         }\r
128         \r
129         @Override\r
130         protected void onStop() {\r
131                 super.onStop();\r
132                 \r
133                 if (command != null){\r
134                         command.stop();\r
135                         command = null;\r
136                 }\r
137         }\r
138 \r
139         private void doCreateButton() {\r
140                 String ballsStr = spinnerBalls.getSelectedItem().toString();\r
141                 String heightStr = spinnerHeight.getSelectedItem().toString();\r
142                 String period1Str = spinnerPeriod1.getSelectedItem().toString();\r
143                 String period2Str = spinnerPeriod2.getSelectedItem().toString();\r
144                 String maxStr = spinnerMax.getSelectedItem().toString();\r
145 \r
146                 int balls = Integer.parseInt(ballsStr);\r
147                 int height = Integer.parseInt(heightStr);\r
148                 int max = Integer.parseInt(maxStr);\r
149                 \r
150                 String periodStr = "" + period1Str + "-" + period2Str;\r
151                 \r
152                 gen = new MainGen(this, mode, balls, height, periodStr, max);\r
153                 command = new AsyncTaskCommand(this, gen);\r
154                 command.execute((String[])null);\r
155                 setEnabled(false);\r
156         }\r
157         \r
158         public void createDone(boolean isCancel) {\r
159                 command = null;\r
160                 if (isCancel){\r
161                         setEnabled(true);\r
162                         return;\r
163                 }\r
164                 JmPattern[] list = Menu2.getList();\r
165                 int size = list.length;\r
166                 \r
167                 // TODO\r
168                 if (size <= 0){\r
169                         Toast.makeText(this, R.string.message_nopattern, Toast.LENGTH_LONG)\r
170                                         .show();\r
171                         setEnabled(true);\r
172                         return;\r
173                 }\r
174 \r
175                 // TODO\r
176 //              JmPattern[] patterns = new JmPattern[size];\r
177 //              for (int i = 0; i < size; i++) {\r
178 //                      String siteswap = list.get(i);\r
179 //                      JmPattern pattern = new JmPattern(type, siteswap, siteswap);\r
180 //                      patterns[i] = pattern;\r
181 //              }\r
182 //\r
183 //              // \83C\83\93\83e\83\93\83g\8co\97R\82¾\82Æ\8fd\82·\82¬\82é\82Ì\82Å\r
184 //              Menu2.setList(patterns);\r
185                 \r
186                 Intent intent = new Intent(GenPattern.this, (Class<?>) Menu2.class);\r
187                 intent.putExtra("INDEX", Menu1.INDEX7);\r
188                 startActivityForResult(intent, -1);     \r
189         }\r
190                 \r
191         private void setEnabled(boolean flag){\r
192                 radioGroup.setEnabled(flag);\r
193                 radioButton1.setEnabled(flag);\r
194                 radioButton2.setEnabled(flag);\r
195                 spinnerBalls.setEnabled(flag);\r
196                 spinnerHeight.setEnabled(flag);\r
197                 spinnerPeriod1.setEnabled(flag);\r
198                 spinnerPeriod2.setEnabled(flag);\r
199                 spinnerMax.setEnabled(flag);\r
200                 createButton.setEnabled(flag);\r
201                 cancelButton.setEnabled(flag);\r
202         }\r
203 }\r