/[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 1076 by frank, Wed May 28 08:25:12 2003 UTC revision 1084 by jan, Wed May 28 10:25:09 2003 UTC
# Line 678  class MainWindow(DockFrame): Line 678  class MainWindow(DockFrame):
678      def TableClose(self):      def TableClose(self):
679          tables = self.application.session.UnreferencedTables()          tables = self.application.session.UnreferencedTables()
680    
681            lst = [(t.Title(), t) for t in tables]
682            lst.sort()
683            titles = [i[0] for i in lst]
684          dlg = wxMultipleChoiceDialog(self, _("Pick the tables to close:"),          dlg = wxMultipleChoiceDialog(self, _("Pick the tables to close:"),
685                                       _("Close Table"),                                       _("Close Table"), titles,
686                                       [t.Title() for t in tables],                                       size = (400, 300),
687                                       size = (400, 300), style=wxRESIZE_BORDER)                                       style = wxDEFAULT_DIALOG_STYLE |
688                                                 wxRESIZE_BORDER)
689          if dlg.ShowModal() == wxID_OK:          if dlg.ShowModal() == wxID_OK:
690              for i in dlg.GetValue():              for i in dlg.GetValue():
691                  self.application.session.RemoveTable(tables[i])                  self.application.session.RemoveTable(lst[i][1])
692    
693    
694      def TableShow(self):      def TableShow(self):
# Line 695  class MainWindow(DockFrame): Line 699  class MainWindow(DockFrame):
699          """          """
700          tables = self.application.session.Tables()          tables = self.application.session.Tables()
701    
702            lst = [(t.Title(), t) for t in tables]
703            lst.sort()
704            titles = [i[0] for i in lst]
705          dlg = wxMultipleChoiceDialog(self, _("Pick the table to show:"),          dlg = wxMultipleChoiceDialog(self, _("Pick the table to show:"),
706                                       _("Show Table"),                                       _("Show Table"), titles,
                                      [t.Title() for t in tables],  
707                                       size = (400,300),                                       size = (400,300),
708                                       style = wxDEFAULT_DIALOG_STYLE |                                       style = wxDEFAULT_DIALOG_STYLE |
709                                               wxRESIZE_BORDER)                                               wxRESIZE_BORDER)
# Line 705  class MainWindow(DockFrame): Line 711  class MainWindow(DockFrame):
711              for i in dlg.GetValue():              for i in dlg.GetValue():
712                  # XXX: if the table belongs to a layer, open a                  # XXX: if the table belongs to a layer, open a
713                  # LayerTableFrame instead of QueryTableFrame                  # LayerTableFrame instead of QueryTableFrame
714                  self.ShowTableView(tables[i])                  self.ShowTableView(lst[i][1])
715    
716      def TableJoin(self):      def TableJoin(self):
717          dlg = JoinDialog(self, _("Join Tables"), self.application.session)          dlg = JoinDialog(self, _("Join Tables"), self.application.session)
# Line 940  _method_command("layer_jointable", _("&J Line 946  _method_command("layer_jointable", _("&J
946                  sensitive = _has_selected_layer)                  sensitive = _has_selected_layer)
947    
948  def _can_unjoin(context):  def _can_unjoin(context):
949        """Return whether the Layer/Unjoin command can be executed.
950    
951        This is the case if a layer is selected and that layer has a
952        shapestore that has an original shapestore.
953        """
954      layer = context.mainwindow.SelectedLayer()      layer = context.mainwindow.SelectedLayer()
955      return bool(layer and layer.ShapeStore().OrigShapeStore() is not None)      if layer is None:
956            return 0
957        getstore = getattr(layer, "ShapeStore", None)
958        if getstore is not None:
959            return getstore().OrigShapeStore() is not None
960        else:
961            return 0
962  _method_command("layer_unjointable", _("&Unjoin Table..."), "LayerUnjoinTable",  _method_command("layer_unjointable", _("&Unjoin Table..."), "LayerUnjoinTable",
963                  sensitive = _can_unjoin)                  sensitive = _can_unjoin)
964    

Legend:
Removed from v.1076  
changed lines
  Added in v.1084

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26