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

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

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

revision 1135 by frank, Thu Jun 5 15:05:21 2003 UTC revision 1542 by bh, Fri Aug 1 16:13:49 2003 UTC
# Line 5  Line 5 
5  #  #
6  # This program is free software under the GPL (>=v2)  # This program is free software under the GPL (>=v2)
7  # Read the file COPYING coming with Thuban for details.  # Read the file COPYING coming with Thuban for details.
8                                                                                    
9    """Projection dialog"""
10    
11    __version__ = "$Revision$"
12    # $Source$
13    # $Id$
14    
15  import os, sys, math  import os, sys, math
16  from wxPython.wx import *  from wxPython.wx import *
17    
# Line 13  from Thuban import _ Line 19  from Thuban import _
19    
20  from Thuban.Model.proj import Projection, ProjFile  from Thuban.Model.proj import Projection, ProjFile
21    
22  from Thuban.Model.resource import GetUserProjFiles, GetSystemProjFiles, \  from Thuban.Model.resource import get_user_proj_files, get_system_proj_files, \
23                                    ReadProjFile, WriteProjFile                                    read_proj_file, write_proj_file
24  from Thuban.UI.dialogs import NonModalNonParentDialog  from Thuban.UI.dialogs import NonModalNonParentDialog
25    
26    
# Line 129  class ProjFrame(NonModalNonParentDialog) Line 135  class ProjFrame(NonModalNonParentDialog)
135    
136          EVT_TEXT(self, ID_PROJ_PROJNAME, self._OnProjName)          EVT_TEXT(self, ID_PROJ_PROJNAME, self._OnProjName)
137    
   
138      def OnApply(self, event):      def OnApply(self, event):
139          self.__SetProjection()          self.__SetProjection()
140          self.haveTried = True          self.haveTried = True
# Line 149  class ProjFrame(NonModalNonParentDialog) Line 154  class ProjFrame(NonModalNonParentDialog)
154              self.receiver.SetProjection(self.originalProjection)              self.receiver.SetProjection(self.originalProjection)
155              self.haveTried = False              self.haveTried = False
156    
   
157      def _OnNew(self, event):      def _OnNew(self, event):
158    
159          # clear all selections          # clear all selections
# Line 180  class ProjFrame(NonModalNonParentDialog) Line 184  class ProjFrame(NonModalNonParentDialog)
184          if newproj is not None:          if newproj is not None:
185              projfile.Replace(proj, newproj)              projfile.Replace(proj, newproj)
186              try:              try:
187                  WriteProjFile(projfile)                  write_proj_file(projfile)
188              except IOError, (errno, errstr):              except IOError, (errno, errstr):
189                  self.__ShowError(projfile.GetFilename(), errstr)                  self.__ShowError(projfile.GetFilename(), errstr)
190              self.availprojs.SetClientData(sel[0], [newproj, projfile])              self.availprojs.SetClientData(sel[0], [newproj, projfile])
# Line 193  class ProjFrame(NonModalNonParentDialog) Line 197  class ProjFrame(NonModalNonParentDialog)
197          if proj is not None:          if proj is not None:
198              self.__usrProjFile.Add(proj)              self.__usrProjFile.Add(proj)
199              try:              try:
200                  WriteProjFile(self.__usrProjFile)                  write_proj_file(self.__usrProjFile)
201              except IOError, (errno, errstr):              except IOError, (errno, errstr):
202                  self.__ShowError(self.__userProjFile.GetFilename(), errstr)                  self.__ShowError(self.__userProjFile.GetFilename(), errstr)
203    
# Line 210  class ProjFrame(NonModalNonParentDialog) Line 214  class ProjFrame(NonModalNonParentDialog)
214              path = dlg.GetPath()              path = dlg.GetPath()
215    
216              try:              try:
217                  projFile = ReadProjFile(path)                  projFile = read_proj_file(path)
218                  for proj in projFile.GetProjections():                  for proj in projFile.GetProjections():
219                      self.__usrProjFile.Add(proj)                      self.__usrProjFile.Add(proj)
220                  WriteProjFile(self.__usrProjFile)                  write_proj_file(self.__usrProjFile)
221              except IOError, (errno, errstr):              except IOError, (errno, errstr):
222                  self.__ShowError(dlg.GetPath(), errstr)                  self.__ShowError(dlg.GetPath(), errstr)
223    
# Line 240  class ProjFrame(NonModalNonParentDialog) Line 244  class ProjFrame(NonModalNonParentDialog)
244                      projFile.Add(proj)                      projFile.Add(proj)
245    
246              try:              try:
247                  WriteProjFile(projFile)                  write_proj_file(projFile)
248              except IOError, (errno, errstr):              except IOError, (errno, errstr):
249                  self.__ShowError(dlg.GetPath(), errstr)                  self.__ShowError(dlg.GetPath(), errstr)
250    
# Line 275  class ProjFrame(NonModalNonParentDialog) Line 279  class ProjFrame(NonModalNonParentDialog)
279                  projfile.Remove(proj)                  projfile.Remove(proj)
280    
281          try:          try:
282              WriteProjFile(projfile)              write_proj_file(projfile)
283          except IOError, (errno, errstr):          except IOError, (errno, errstr):
284              self.__ShowError(projfile.GetFilename(), errstr)              self.__ShowError(projfile.GetFilename(), errstr)
285    
# Line 373  class ProjFrame(NonModalNonParentDialog) Line 377  class ProjFrame(NonModalNonParentDialog)
377              if proj is None:              if proj is None:
378                  # user selected <None>                  # user selected <None>
379                  self.projname.Clear()                  self.projname.Clear()
380                                    self.projfilepath.SetLabel(_("Projection File: "))
381              else:              else:
382                            
383                  if projfile is not None:                  if projfile is not None:
384                      self.projfilepath.SetLabel(projfile.GetFilename())                      self.projfilepath.SetLabel(_("Projection File: ") +
385                            os.path.basename(projfile.GetFilename()))
386                  else:                  else:
387                      # only None if the currently used projection is selected                      # only None if the currently used projection is selected
388                      self.projfilepath.SetLabel("")                      self.projfilepath.SetLabel(_("Projection File: "))
389    
390                  self.projname.SetValue(proj.GetName())                  self.projname.SetValue(proj.GetName())
391    
# Line 494  class ProjFrame(NonModalNonParentDialog) Line 499  class ProjFrame(NonModalNonParentDialog)
499          #          #
500          self.availprojs.Append("<None>", (None, None))          self.availprojs.Append("<None>", (None, None))
501    
502          projfile = GetSystemProjFiles()          projfile = get_system_proj_files()
503          projfile = projfile[0]          projfile = projfile[0]
504          for proj in projfile.GetProjections():          for proj in projfile.GetProjections():
505              self.availprojs.Append(proj.GetName(), [proj, projfile])              self.availprojs.Append(proj.GetName(), [proj, projfile])
506          self.__sysProjFile = projfile          self.__sysProjFile = projfile
507    
508          projfile = GetUserProjFiles()          projfile = get_user_proj_files()
509          projfile = projfile[0]          projfile = projfile[0]
510          for proj in projfile.GetProjections():          for proj in projfile.GetProjections():
511              self.availprojs.Append(proj.GetName(), [proj, projfile])              self.availprojs.Append(proj.GetName(), [proj, projfile])
# Line 565  class ProjFrame(NonModalNonParentDialog) Line 570  class ProjFrame(NonModalNonParentDialog)
570          grid_sizer_1.Add(20, 20, 0, wxEXPAND, 0)          grid_sizer_1.Add(20, 20, 0, wxEXPAND, 0)
571          grid_sizer_1.Add(self.availprojs, 1, wxALL|wxEXPAND|wxADJUST_MINSIZE, 4)          grid_sizer_1.Add(self.availprojs, 1, wxALL|wxEXPAND|wxADJUST_MINSIZE, 4)
572          grid_sizer_1.Add(sizer_15, 0, wxALL|wxEXPAND, 4)          grid_sizer_1.Add(sizer_15, 0, wxALL|wxEXPAND, 4)
573          grid_sizer_1.Add(self.projfilepath, 0, wxALL|wxADJUST_MINSIZE, 4)          grid_sizer_1.Add(self.projfilepath, 0, wxEXPAND|wxALL|wxADJUST_MINSIZE, 4)
574          grid_sizer_1.AddGrowableRow(1)          grid_sizer_1.AddGrowableRow(1)
575          grid_sizer_1.AddGrowableCol(0)          grid_sizer_1.AddGrowableCol(0)
576    
# Line 577  class ProjFrame(NonModalNonParentDialog) Line 582  class ProjFrame(NonModalNonParentDialog)
582          sizer_14.Add(self.projchoice, 1, wxALL|wxALIGN_CENTER_VERTICAL, 4)          sizer_14.Add(self.projchoice, 1, wxALL|wxALIGN_CENTER_VERTICAL, 4)
583          self.sizer_projctrls.Add(sizer_14, 0, wxEXPAND, 0)          self.sizer_projctrls.Add(sizer_14, 0, wxEXPAND, 0)
584          self.sizer_edit.Add(self.sizer_projctrls, 1, wxEXPAND, 0)          self.sizer_edit.Add(self.sizer_projctrls, 1, wxEXPAND, 0)
585          sizer_11.Add(self.button_new, 0, wxALL, 4)          sizer_11.Add(self.button_new, 0, wxEXPAND|wxALL, 4)
586          sizer_11.Add(self.button_add, 0, wxALL, 4)          sizer_11.Add(self.button_add, 0, wxEXPAND|wxALL, 4)
587          sizer_11.Add(20, 20, 0, wxEXPAND, 0)          sizer_11.Add(20, 20, 0, wxEXPAND, 0)
588          sizer_11.Add(self.button_save, 0, wxALL|wxALIGN_BOTTOM, 4)          sizer_11.Add(self.button_save, 0, wxEXPAND|wxALL|wxALIGN_BOTTOM, 4)
589          self.sizer_edit.Add(sizer_11, 0, wxALL|wxEXPAND, 4)          self.sizer_edit.Add(sizer_11, 0, wxALL|wxEXPAND, 4)
590    
591          sizer_6.Add(self.button_try, 0, wxRIGHT| wxEXPAND, 10)          sizer_6.Add(self.button_try, 0, wxRIGHT| wxEXPAND, 10)

Legend:
Removed from v.1135  
changed lines
  Added in v.1542

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26