/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/UI/mainwindow.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/UI/mainwindow.py

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

revision 1052 by bh, Tue May 27 09:34:28 2003 UTC revision 1054 by bh, Tue May 27 10:38:16 2003 UTC
# Line 654  class MainWindow(DockFrame): Line 654  class MainWindow(DockFrame):
654                             _("All Files (*.*)") + "|*.*",                             _("All Files (*.*)") + "|*.*",
655                             wxOPEN)                             wxOPEN)
656          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
657              self.application.session.OpenTableFile(dlg.GetPath())              filename = dlg.GetPath()
658                dlg.Destroy()
659          dlg.Destroy()              try:
660                    table = self.application.session.OpenTableFile(filename)
661                except IOError:
662                    # the layer couldn't be opened
663                    self.RunMessageBox(_("Open Table"),
664                                       _("Can't open the file '%s'.") % filename)
665                else:
666                    self.ShowTableView(table)
667    
668      def TableClose(self):      def TableClose(self):
669          print "TableClose: not implemented"          print "TableClose: not implemented"
670    
671      def TableShow(self):      def TableShow(self):
672          """Offer a multi-selection dialog for tables to be displayed          """Offer a multi-selection dialog for tables to be displayed
673            
674          The windows for the selected tables are opened or brought to          The windows for the selected tables are opened or brought to
675          the front.          the front.
676          """          """
677          tables = self.application.session.Tables()          tables = self.application.session.Tables()
         table_list = []  
         for table in tables:  
             table_list.append(table.Title())  
678    
679          dlg = wxMultipleChoiceDialog(self, _("Pick the table to show:"),          dlg = wxMultipleChoiceDialog(self, _("Pick the table to show:"),
680                                       _("Show Table"), table_list,                                       _("Show Table"),
681                                         [t.Title() for t in tables],
682                                       size = (400,300), style = wxRESIZE_BORDER)                                       size = (400,300), style = wxRESIZE_BORDER)
683          if (dlg.ShowModal() == wxID_OK):          if (dlg.ShowModal() == wxID_OK):
684              for i in dlg.GetValue():              for i in dlg.GetValue():
                 # XXX: First check whether the dialog is already open  
                 # and if so, bring it to the front.  
685                  # XXX: if the table belongs to a layer, open a                  # XXX: if the table belongs to a layer, open a
686                  # LayerTableFrame instead of QueryTableFrame                  # LayerTableFrame instead of QueryTableFrame
687                  print "tables[i]:", tables[i]                  self.ShowTableView(tables[i])
                 dialog = tableview.QueryTableFrame(self, table_list[i],  
                                               _("Table: %s") % table_list[i],  
                                               tables[i])  
                 self.add_dialog(table_list[i], dialog)  
                 dialog.Show(True)  
   
         # XXX: just some analyis code, remove it when the above XXX is  
         # resolved.  
         for d in self.dialogs.values():  
             if isinstance(d, tableview.LayerTableFrame):  
                 print "LayerTable:", d.GetTitle()  
             elif isinstance(d, tableview.QueryTableFrame):  
                 print "QueryTable:", d.GetTitle()  
             else:  
                 print "Other:", d.GetTitle()  
688    
689      def TableJoin(self):      def TableJoin(self):
690          dlg = JoinDialog(self, _("Join Tables"), self.application.session)          dlg = JoinDialog(self, _("Join Tables"), self.application.session)
691          dlg.ShowModal()          dlg.ShowModal()
692    
693        def ShowTableView(self, table):
694            """Open a table view for the table and optionally"""
695            name = "table_view%d" % id(table)
696            dialog = self.get_open_dialog(name)
697            if dialog is None:
698                dialog = tableview.QueryTableFrame(self, name,
699                                                   _("Table: %s") % table.Title(),
700                                                   table)
701                self.add_dialog(name, dialog)
702                dialog.Show(True)
703            # FIXME: else bring dialog to front
704    
705      def ZoomInTool(self):      def ZoomInTool(self):
706          self.canvas.ZoomInTool()          self.canvas.ZoomInTool()
707    

Legend:
Removed from v.1052  
changed lines
  Added in v.1054

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26