src/horaris/HoraroTransporta.java
changeset 12 3932322b7d83
parent 10 757b42639637
equal deleted inserted replaced
11:27ba8edb3437 12:3932322b7d83
     8 import java.lang.Exception;
     8 import java.lang.Exception;
     9 
     9 
    10 public class HoraroTransporta
    10 public class HoraroTransporta
    11 	implements CommandListener, ItemStateListener, Ekrano
    11 	implements CommandListener, ItemStateListener, Ekrano
    12 {
    12 {
    13 	private Graph radiko;
    13 	private Horaro h;
    14 	private Graph tagoj;
       
    15 	private Graph direktoj;
       
    16 	private Graph lokoj;
       
    17 	private Graph sencoj;
       
    18 
    14 
    19 	private Form myform;
    15 	private Form myform;
    20 	private ChoiceGroup ftagoj;
    16 	private ChoiceGroup ftagoj;
    21 	private ChoiceGroup fsenco;
    17 	private ChoiceGroup fsenco;
    22 	private ChoiceGroup fkomenco;
    18 	private ChoiceGroup fkomenco;
    31 	private Vector temporezulto;
    27 	private Vector temporezulto;
    32 	private Vector tmpTempoj;
    28 	private Vector tmpTempoj;
    33 	private Hashtable inforezulto;
    29 	private Hashtable inforezulto;
    34 
    30 
    35 
    31 
    36 	public HoraroTransporta(Graph _radiko, Ekrano _last) throws Exception
    32 	public HoraroTransporta(Horaro _h, Ekrano _last) throws Exception
    37 	{
    33 	{
    38 		radiko = _radiko;
    34 		h = _h;
    39 		last = _last;
    35 		last = _last;
    40 
       
    41 		tagoj = radiko.getNode("Dies");
       
    42 		lokoj = radiko.getNode("Llocs");
       
    43 		sencoj = radiko.getNode("Sentits");
       
    44 
    36 
    45 		myform = new Form("Cerca");
    37 		myform = new Form("Cerca");
    46 
    38 
    47 		/* Items */
    39 		/* Items */
    48 		ftagoj = new ChoiceGroup("Dia", ChoiceGroup.MULTIPLE);
    40 		ftagoj = new ChoiceGroup("Dia", ChoiceGroup.MULTIPLE);
    60 
    52 
    61 		ffino = new ChoiceGroup("Destí", ChoiceGroup.EXCLUSIVE);
    53 		ffino = new ChoiceGroup("Destí", ChoiceGroup.EXCLUSIVE);
    62 		addLokoj(ffino);
    54 		addLokoj(ffino);
    63 		myform.append(ffino);
    55 		myform.append(ffino);
    64 
    56 
       
    57 		/*
    65 		defaultKomencoFino();
    58 		defaultKomencoFino();
       
    59 		*/
    66 
    60 
    67 		/* Commands */
    61 		/* Commands */
    68 		cmd_sercxi = new Command("Buscar", Command.OK, 0);
    62 		cmd_sercxi = new Command("Buscar", Command.OK, 0);
    69 		cmd_malantauxen = new Command("Enrera", Command.BACK, 0);
    63 		cmd_malantauxen = new Command("Enrera", Command.BACK, 0);
    70 		myform.addCommand(cmd_sercxi);
    64 		myform.addCommand(cmd_sercxi);
    81 		Main.display.setCurrent(myform);
    75 		Main.display.setCurrent(myform);
    82 	}
    76 	}
    83 
    77 
    84 	private void addTagoj(ChoiceGroup g)
    78 	private void addTagoj(ChoiceGroup g)
    85 	{
    79 	{
    86 		for (int i=0; i < tagoj.size(); i++)
    80 		for (int i=0; i < h.tagoj.size(); i++)
    87 			g.append(tagoj.get(i).getName(), null);
    81 			g.append((String) h.tagoj.elementAt(i), null);
    88 	}
    82 	}
    89 
    83 
    90 	private void addSencoj(ChoiceGroup g) {
    84 	private void addSencoj(ChoiceGroup g) {
    91 
    85 
    92 		for (int i=0; i < sencoj.size(); i++)
    86 		for (int i=0; i < h.sencoj.size(); i++)
    93 			g.append(sencoj.get(i).getName(), null);
    87 			g.append((String) h.sencoj.elementAt(i), null);
    94 	}
    88 	}
    95 
    89 
    96 	private void addLokoj(ChoiceGroup g) {
    90 	private void addLokoj(ChoiceGroup g) {
    97 
    91 
    98 		for (int i=0; i < lokoj.size(); i++)
    92 		for (int i=0; i < h.lokoj.size(); i++)
    99 			g.append(lokoj.get(i).getName(), null);
    93 			g.append((String) h.lokoj.elementAt(i), null);
   100 	}
    94 	}
   101 
    95 
   102 	private boolean inVector(Vector v, String s)
    96 	private boolean inVector(Vector v, String s)
   103 	{
    97 	{
   104 		for (int i=0; i < v.size(); i++)
    98 		for (int i=0; i < v.size(); i++)
   108 	}
   102 	}
   109 
   103 
   110 	private void sercxiTempojn(Vector tagoj, String senco,
   104 	private void sercxiTempojn(Vector tagoj, String senco,
   111 			String komenco, String fino)
   105 			String komenco, String fino)
   112 	{
   106 	{
   113 		temporezulto = new Vector();
   107 //		temporezulto = new Vector();
   114 		tmpTempoj = new Vector();
   108 //		tmpTempoj = new Vector();
   115 		inforezulto = new Hashtable();
   109 //		inforezulto = new Hashtable();
   116 
   110 //
   117 		for (int i=0; i < radiko.size(); i++)
   111 //		for (int i=0; i < radiko.size(); i++)
   118 		{
   112 //		{
   119 			if (! radiko.get(i).getName().equals("Comboi"))
   113 //			if (! radiko.get(i).getName().equals("Comboi"))
   120 				continue;
   114 //				continue;
   121 
   115 //
   122 			Graph veturo = radiko.get(i);
   116 //			Graph veturo = radiko.get(i);
   123 			Graph gtmp;
   117 //			Graph gtmp;
   124 			boolean bona;
   118 //			boolean bona;
   125 
   119 //
   126 			String elirtempo = null, alventempo = null;
   120 //			String elirtempo = null, alventempo = null;
   127 
   121 //
   128 			/* Dies */
   122 //			/* Dies */
   129 			gtmp = veturo.getNode("Dies");
   123 //			gtmp = veturo.getNode("Dies");
   130 			bona = false;
   124 //			bona = false;
   131 			for(int j=0; j < gtmp.size(); j++)
   125 //			for(int j=0; j < gtmp.size(); j++)
   132 			{
   126 //			{
   133 				if (inVector(tagoj, gtmp.get(j).getName()) )
   127 //				if (inVector(tagoj, gtmp.get(j).getName()) )
   134 					bona = true;
   128 //					bona = true;
   135 			}
   129 //			}
   136 			if (bona != true)
   130 //			if (bona != true)
   137 				continue;
   131 //				continue;
   138 
   132 //
   139 			/* Sentits */
   133 //			/* Sentits */
   140 			gtmp = veturo.getNode("Sentit");
   134 //			gtmp = veturo.getNode("Sentit");
   141 			bona = false;
   135 //			bona = false;
   142 			for(int j=0; j < gtmp.size(); j++)
   136 //			for(int j=0; j < gtmp.size(); j++)
   143 			{
   137 //			{
   144 				if (senco.equals(gtmp.get(j).getName()))
   138 //				if (senco.equals(gtmp.get(j).getName()))
   145 					bona = true;
   139 //					bona = true;
   146 			}
   140 //			}
   147 			if (bona != true)
   141 //			if (bona != true)
   148 				continue;
   142 //				continue;
   149 
   143 //
   150 			/* Komenco kaj Fino */
   144 //			/* Komenco kaj Fino */
   151 			gtmp = veturo.getNode("Hores");
   145 //			gtmp = veturo.getNode("Hores");
   152 			for(int j=0; j < gtmp.size(); j++)
   146 //			for(int j=0; j < gtmp.size(); j++)
   153 			{
   147 //			{
   154 				String stacio = gtmp.get(j).get(0).getName();
   148 //				String stacio = gtmp.get(j).get(0).getName();
   155 
   149 //
   156 				if (stacio.equals(komenco))
   150 //				if (stacio.equals(komenco))
   157 				{
   151 //				{
   158 					elirtempo = gtmp.get(j).getName();
   152 //					elirtempo = gtmp.get(j).getName();
   159 				}
   153 //				}
   160 				else if (stacio.equals(fino))
   154 //				else if (stacio.equals(fino))
   161 				{
   155 //				{
   162 					alventempo = gtmp.get(j).getName();
   156 //					alventempo = gtmp.get(j).getName();
   163 				}
   157 //				}
   164 			}
   158 //			}
   165 			if (elirtempo == null || alventempo == null)
   159 //			if (elirtempo == null || alventempo == null)
   166 				continue;
   160 //				continue;
   167 
   161 //
   168 			/* Krei la informon aldonan */
   162 //			/* Krei la informon aldonan */
   169 			gtmp = veturo.getNode("Comentari");
   163 //			gtmp = veturo.getNode("Comentari");
   170 			Vector comments = new Vector();
   164 //			Vector comments = new Vector();
   171 			if (gtmp != null)
   165 //			if (gtmp != null)
   172 			{
   166 //			{
   173 				for (int j = 0; j < gtmp.size(); j++)
   167 //				for (int j = 0; j < gtmp.size(); j++)
   174 				{
   168 //				{
   175 					comments.addElement(gtmp.get(j).getName());
   169 //					comments.addElement(gtmp.get(j).getName());
   176 				}
   170 //				}
   177 			}
   171 //			}
   178 
   172 //
   179 			/* Trovita! */
   173 //			/* Trovita! */
   180 			addSortedTime(elirtempo, alventempo, comments);
   174 //			addSortedTime(elirtempo, alventempo, comments);
   181 		}
   175 //		}
   182 
   176 //
   183 		/* Free memory */
   177 //		/* Free memory */
   184 		tmpTempoj = null;
   178 //		tmpTempoj = null;
   185 	}
   179 	}
   186 	
   180 	
   187 	private Tempo str2Tempo(String s)
   181 	private Tempo str2Tempo(String s)
   188 	{
   182 	{
   189 		int i = s.indexOf('-');
   183 		int i = s.indexOf('-');
   220 	public void commandAction(Command c, Displayable d)
   214 	public void commandAction(Command c, Displayable d)
   221 	{
   215 	{
   222 
   216 
   223 		if (c == cmd_sercxi)
   217 		if (c == cmd_sercxi)
   224 		{
   218 		{
       
   219 			/*
   225 			Vector tagoj = new Vector();
   220 			Vector tagoj = new Vector();
   226 			for (int i = 0; i < ftagoj.size(); i++)
   221 			for (int i = 0; i < ftagoj.size(); i++)
   227 			{
   222 			{
   228 				if (ftagoj.isSelected(i))
   223 				if (ftagoj.isSelected(i))
   229 					tagoj.addElement(ftagoj.getString(i));
   224 					tagoj.addElement(ftagoj.getString(i));
   232 				fsenco.getString(fsenco.getSelectedIndex());
   227 				fsenco.getString(fsenco.getSelectedIndex());
   233 			String komenco =
   228 			String komenco =
   234 				fkomenco.getString(fkomenco.getSelectedIndex());
   229 				fkomenco.getString(fkomenco.getSelectedIndex());
   235 			String fino =
   230 			String fino =
   236 				ffino.getString(ffino.getSelectedIndex());
   231 				ffino.getString(ffino.getSelectedIndex());
       
   232 				*/
   237 
   233 
   238 			/* Donos rezulton en temporezulto kaj inforezulto */
   234 			/* Donos rezulton en temporezulto kaj inforezulto */
       
   235 			/*
   239 			sercxiTempojn(tagoj, senco, komenco, fino);
   236 			sercxiTempojn(tagoj, senco, komenco, fino);
   240 
   237 			*/
       
   238 
       
   239 			/*
   241 			if (temporezulto.size() > 0)
   240 			if (temporezulto.size() > 0)
   242 			{
   241 			{
   243 				mytimelist = new TimeList(temporezulto, inforezulto, this);
   242 				mytimelist = new TimeList(temporezulto, inforezulto, this);
   244 				mytimelist.show();
   243 				mytimelist.show();
   245 			}
   244 			}
       
   245 			*/
   246 		} else if (c == cmd_malantauxen)
   246 		} else if (c == cmd_malantauxen)
   247 		{
   247 		{
   248 			last.show();
   248 			last.show();
   249 		}
   249 		}
   250 	}
   250 	}
   251 
   251 
   252 	private void defaultTagoj()
   252 	private void defaultTagoj()
   253 	{
   253 	{
   254 		for (int i = 0; i < ftagoj.size(); i++)
   254 		ftagoj.setSelectedIndex(h.defaulttago, true);
   255 		{
   255 	}
   256 			if (tagoj.getNode(ftagoj.getString(i)).get(0) != null)
   256 
   257 				ftagoj.setSelectedIndex(i, true);
   257 	/*
   258 			else
       
   259 				ftagoj.setSelectedIndex(i, false);
       
   260 		}
       
   261 	}
       
   262 
       
   263 	private void defaultKomencoFino()
   258 	private void defaultKomencoFino()
   264 	{
   259 	{
   265 		String elektita;
   260 		String elektita;
   266 		elektita = fsenco.getString(fsenco.getSelectedIndex());
   261 		elektita = fsenco.getString(fsenco.getSelectedIndex());
   267 
   262 
   281 
   276 
   282 		for (int i = 0; i < ffino.size(); i++)
   277 		for (int i = 0; i < ffino.size(); i++)
   283 			if (ffino.getString(i).equals(fino.getName()))
   278 			if (ffino.getString(i).equals(fino.getName()))
   284 				ffino.setSelectedIndex(i, true);
   279 				ffino.setSelectedIndex(i, true);
   285 	}
   280 	}
       
   281 	*/
   286 
   282 
   287 	public void itemStateChanged(Item item)
   283 	public void itemStateChanged(Item item)
   288 	{
   284 	{
   289 		if (item == fsenco)
   285 		if (item == fsenco)
   290 		{
   286 		{
       
   287 			/*
   291 			defaultKomencoFino();
   288 			defaultKomencoFino();
       
   289 			*/
   292 		}
   290 		}
   293 	}
   291 	}
   294 }
   292 }