/[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 1037 by bh, Mon May 26 17:30:43 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()  
   
     def TableHide(self):  
         print "TableHide: not implemented"  
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    
# Line 927  _method_command("layer_unjointable", _(" Line 924  _method_command("layer_unjointable", _("
924  _method_command("table_open", _("&Open..."), "TableOpen")  _method_command("table_open", _("&Open..."), "TableOpen")
925  _method_command("table_close", _("&Close"), "TableClose")  _method_command("table_close", _("&Close"), "TableClose")
926  _method_command("table_show", _("&Show"), "TableShow")  _method_command("table_show", _("&Show"), "TableShow")
 _method_command("table_hide", _("&Hide"), "TableHide")  
927  _method_command("table_join", _("&Join..."), "TableJoin")  _method_command("table_join", _("&Join..."), "TableJoin")
928    
929  #  Export only under Windows ...  #  Export only under Windows ...
# Line 972  main_menu = Menu("<main>", "<main>", Line 968  main_menu = Menu("<main>", "<main>",
968                    Menu("table", _("&Table"),                    Menu("table", _("&Table"),
969                         ["table_open", "table_close",                         ["table_open", "table_close",
970                         None,                         None,
971                         "table_show", "table_hide",                         "table_show",
972                         None,                         None,
973                         "table_join"]),                         "table_join"]),
974                    Menu("help", _("&Help"),                    Menu("help", _("&Help"),

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26