/[ambar]/ambar/frArbol.py
ViewVC logotype

Diff of /ambar/frArbol.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by g2pudeto, Thu Sep 4 15:24:17 2003 UTC revision 1.2 by g2pudeto, Sat Sep 6 18:30:49 2003 UTC
# Line 18  Line 18 
18  #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  #  #
20  #  #
21  #Fichero: frArbol.py  #Boa:MDIChild:frArbol
22    
23    
24  #GPT Me falta comentar casi todo y reescribir casi todo, pero por ahora funciona  #GPT Me falta comentar casi todo y reescribir casi todo, pero por ahora funciona
# Line 83  class frArbol(wxMDIChildFrame): Line 83  class frArbol(wxMDIChildFrame):
83          #rehacer entero añadiendo métodos para mayor claridad.          #rehacer entero añadiendo métodos para mayor claridad.
84          #directorio=opendir('.')          #directorio=opendir('.')
85          self.root = self.tCNavegador.AddRoot("Elementos")          self.root = self.tCNavegador.AddRoot("Elementos")
86            
87          self.tCNavegador.SetItemImage(self.root, self.fldridx, wxTreeItemIcon_Normal)          self.tCNavegador.SetItemImage(self.root, self.fldridx, wxTreeItemIcon_Normal)
88          self.tCNavegador.SetItemImage(self.root, self.fldropenidx, wxTreeItemIcon_Expanded)          self.tCNavegador.SetItemImage(self.root, self.fldropenidx, wxTreeItemIcon_Expanded)
89          self.tCNavegador.SetPyData(self.root, None)          self.tCNavegador.SetPyData(self.root, "raiz")
90          #añadimos los directorios de zonas          #añadimos los directorios de zonas
91          self.nodoSalas = self.tCNavegador.AppendItem(self.root, "Salas")          self.nodoSalas = self.tCNavegador.AppendItem(self.root, "Salas")
92            self.tCNavegador.SetPyData(self.nodoSalas, "zona")
93          self.tCNavegador.SetItemImage(self.nodoSalas, self.fldridx, wxTreeItemIcon_Normal)          self.tCNavegador.SetItemImage(self.nodoSalas, self.fldridx, wxTreeItemIcon_Normal)
94          self.tCNavegador.SetItemImage(self.nodoSalas, self.fldropenidx, wxTreeItemIcon_Expanded)          self.tCNavegador.SetItemImage(self.nodoSalas, self.fldropenidx, wxTreeItemIcon_Expanded)
95    
96    
97          #añadimos los directorios de Objetos          #añadimos los directorios de Objetos
98          self.nodoObjetos = self.tCNavegador.AppendItem(self.root, "Objetos")          self.nodoObjetos = self.tCNavegador.AppendItem(self.root, "Objetos")
99            self.tCNavegador.SetPyData(self.nodoObjetos, "zona")
100          self.tCNavegador.SetItemImage(self.nodoObjetos, self.fldridx, wxTreeItemIcon_Normal)          self.tCNavegador.SetItemImage(self.nodoObjetos, self.fldridx, wxTreeItemIcon_Normal)
101          self.tCNavegador.SetItemImage(self.nodoObjetos, self.fldropenidx, wxTreeItemIcon_Expanded)          self.tCNavegador.SetItemImage(self.nodoObjetos, self.fldropenidx, wxTreeItemIcon_Expanded)
102          #añadimos los directorios de PNJ          #añadimos los directorios de PNJ
103          self.nodoPNJ = self.tCNavegador.AppendItem(self.root, "PNJ")          self.nodoPNJ = self.tCNavegador.AppendItem(self.root, "PNJ")
104            self.tCNavegador.SetPyData(self.nodoPNJ, "zona")
105          self.tCNavegador.SetItemImage(self.nodoPNJ, self.fldridx, wxTreeItemIcon_Normal)          self.tCNavegador.SetItemImage(self.nodoPNJ, self.fldridx, wxTreeItemIcon_Normal)
106          self.tCNavegador.SetItemImage(self.nodoPNJ, self.fldropenidx, wxTreeItemIcon_Expanded)          self.tCNavegador.SetItemImage(self.nodoPNJ, self.fldropenidx, wxTreeItemIcon_Expanded)
107          #dirSala=opendir('./desc_salas')          #dirSala=opendir('./desc_salas')
# Line 143  class frArbol(wxMDIChildFrame): Line 147  class frArbol(wxMDIChildFrame):
147              self.getNodoPorNombre(nombreZona, self.nodoSalas)              self.getNodoPorNombre(nombreZona, self.nodoSalas)
148          except NodeError:          except NodeError:
149              nodoZona = self.tCNavegador.AppendItem(self.nodoSalas, nombreZona)              nodoZona = self.tCNavegador.AppendItem(self.nodoSalas, nombreZona)
150              self.tCNavegador.SetPyData(nodoZona, None)              self.tCNavegador.SetPyData(nodoZona, "zona")
151              self.tCNavegador.SetItemImage(nodoZona, self.fldridx, wxTreeItemIcon_Normal)              self.tCNavegador.SetItemImage(nodoZona, self.fldridx, wxTreeItemIcon_Normal)
152              self.tCNavegador.SetItemImage(nodoZona, self.fldropenidx, wxTreeItemIcon_Expanded)              self.tCNavegador.SetItemImage(nodoZona, self.fldropenidx, wxTreeItemIcon_Expanded)
153          else:          else:
# Line 160  class frArbol(wxMDIChildFrame): Line 164  class frArbol(wxMDIChildFrame):
164          except NodeError:                      except NodeError:            
165              raise ZonaError, 'esa zona no existe'              raise ZonaError, 'esa zona no existe'
166          else:          else:
167              self.removeSalaPorNodo(nodoZona,nombreSala)              self.removeSalaPorNodo(nodoZona,nombreSala)    
168                            
169      def addSala(self,nombreZona, nombreSala):        def addSala(self,nombreZona, nombreSala):  
170          #añade una sala dado un nombre de zona y un nombre de sala, si la zona          #añade una sala dado un nombre de zona y un nombre de sala, si la zona
# Line 237  class frArbol(wxMDIChildFrame): Line 241  class frArbol(wxMDIChildFrame):
241          else:          else:
242              raise NodeError, 'no existe ningún hijo de nombre ' + nombre              raise NodeError, 'no existe ningún hijo de nombre ' + nombre
243                            
244        def borrar(self):
245            ZonaError = 'ZonaError'
246            
247            nodo=self.tCNavegador.GetSelection()
248            datos = self.tCNavegador.GetPyData(nodo)
249            textoNodo = self.tCNavegador.GetItemText(nodo)
250            
251            if (datos == "zona"):
252                caption = 'Borrar Zona'
253                msg = '¿Desea borrar la zona ' + textoNodo + ' ?\n'
254                msg = msg + 'Todas las salas de la zona también se borrarán'
255                dlg = wxMessageDialog(self, msg, caption, wxYES_NO | wxICON_QUESTION  )
256                try:
257                    respuesta=dlg.ShowModal()
258                    if respuesta==wxID_YES:
259                        try:
260                            #self.removeSala(datos.split('-')[0],datos.split('-')[1])
261                            os.remove(os.path.join(Sala.DIR_DESC_SALAS,textoNodo))
262                            #se borra el nodo de zona
263                            self.tcNavegador.DeleteChildren(nodo)
264                            self.tCNavegador.Delete(nodo)
265                        except ZonaError:
266                            #No debería darse cuando todo esté bien gestionado
267                            pass
268                    else:
269                        #print('ha pinchado en no')
270                        pass    
271                finally:
272                    dlg.Destroy()        
273            
274            elif (datos == "raiz") or (datos == "Salas" ) or (datos == "Objetos" ) or (datos == "PNJ" ):
275                msg = "No se pueden borrar esos nodos"
276                dlg = wxMessageDialog(self, msg,
277                  'Atención', wxOK | wxICON_INFORMATION)
278                try:
279                    dlg.ShowModal()
280                finally:
281                    dlg.Destroy()
282                
283            else:    
284                #GPT Falta comprobar que no se está mostrando esa sala en un dialogo          
285                #mensaje preguntando
286                caption = 'Borrar Sala'
287                mensaje = '¿Desea borrar la sala ' + datos.split('-')[1] + ' ?'
288                dlg = wxMessageDialog(self, mensaje,
289                                 caption, wxYES_NO | wxICON_QUESTION  )
290                try:
291                    respuesta=dlg.ShowModal()
292                    if respuesta==wxID_YES:
293                        try:
294                            self.removeSala(datos.split('-')[0],datos.split('-')[1])
295                            os.remove(os.path.join(Sala.DIR_DESC_SALAS,datos.split('-')[0],datos + Sala.EXT_DESC_SALAS ))
296                        except ZonaError:
297                            #No debería darse cuando todo esté bien gestionado
298                            pass
299                    else:
300                        #print('ha pinchado en no')
301                        pass    
302                finally:
303                    dlg.Destroy()        
304            
305            
306      def OnTcnavegadorTreeItemActivated(self, event):      def OnTcnavegadorTreeItemActivated(self, event):
307          nodo=self.tCNavegador.GetSelection()          nodo=self.tCNavegador.GetSelection()
308          if not(self.tCNavegador.ItemHasChildren(nodo)):                      datos = self.tCNavegador.GetPyData(nodo)
309              fichero=self.tCNavegador.GetPyData(nodo)                    if not (datos == "zona") and not (datos == "raiz") and not (datos == "Salas" ) and not (datos == "Objetos" ) and not (datos == "PNJ" ):
310              self.padre.AbrirSala(fichero)              self.padre.AbrirSala(datos)
311          event.Skip()          event.Skip()
312    
313      def OnFrarbolSize(self, event):      def OnFrarbolSize(self, event):

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26