/[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 1014 by jan, Fri May 23 09:26:23 2003 UTC revision 1054 by bh, Tue May 27 10:38:16 2003 UTC
# Line 561  class MainWindow(DockFrame): Line 561  class MainWindow(DockFrame):
561              dialog = self.get_open_dialog(name)              dialog = self.get_open_dialog(name)
562              if dialog is None:              if dialog is None:
563                  dialog = tableview.LayerTableFrame(self, name,                  dialog = tableview.LayerTableFrame(self, name,
564                                                 _("Table: %s") % layer.Title(),                                           _("Layer Table: %s") % layer.Title(),
565                                                     layer, table)                                           layer, table)
566                  self.add_dialog(name, dialog)                  self.add_dialog(name, dialog)
567                  dialog.Show(true)                  dialog.Show(True)
568              else:              else:
569                  # FIXME: bring dialog to front here                  # FIXME: bring dialog to front here
570                  pass                  pass
# Line 619  class MainWindow(DockFrame): Line 619  class MainWindow(DockFrame):
619          dialog.Raise()          dialog.Raise()
620    
621      def LayerJoinTable(self):      def LayerJoinTable(self):
622          print "LayerJoinTable"          print "LayerJoinTable: Not implemented."
623    
624      def LayerUnjoinTable(self):      def LayerUnjoinTable(self):
625          print "LayerUnjoinTable"          print "LayerUnjoinTable: Not implemented."
626    
627      def ShowLegend(self):      def ShowLegend(self):
628          if not self.LegendShown():          if not self.LegendShown():
# Line 648  class MainWindow(DockFrame): Line 648  class MainWindow(DockFrame):
648          return dialog is not None and dialog.IsShown()          return dialog is not None and dialog.IsShown()
649    
650      def TableOpen(self):      def TableOpen(self):
         print "TableOpen: not implemented"  
651          dlg = wxFileDialog(self, _("Open Table"), ".", "",          dlg = wxFileDialog(self, _("Open Table"), ".", "",
652                             "DBF Files (*.dbf)|*.dbf|" +                             _("DBF Files (*.dbf)") + "|*.dbf|" +
653                             "CSV Files (*.csv)|*.csv|" +                             #_("CSV Files (*.csv)") + "|*.csv|" +
654                             "All Files (*.*)|*.*",                             _("All Files (*.*)") + "|*.*",
655                             wxOPEN)                             wxOPEN)
656          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
657              #self.application.session.OpenTable(dlg.GetPath())              filename = dlg.GetPath()
658              pass              dlg.Destroy()
659                try:
660          dlg.Destroy()                  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)
683          if (dlg.ShowModal() == wxID_OK):          if (dlg.ShowModal() == wxID_OK):
684              for i in dlg.GetValue():              for i in dlg.GetValue():
685                  # XXX: First check whether the dialog is already open                  # XXX: if the table belongs to a layer, open a
686                  # and if so, bring it to the front.                  # LayerTableFrame instead of QueryTableFrame
687                  dialog = tableview.QueryTableFrame(self, table_list[i],                  self.ShowTableView(tables[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 925  _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 970  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.1014  
changed lines
  Added in v.1054

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26