/[thuban]/trunk/thuban/Thuban/UI/classifier.py
ViewVC logotype

Diff of /trunk/thuban/Thuban/UI/classifier.py

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

revision 650 by jonathan, Fri Apr 11 14:27:41 2003 UTC revision 783 by jonathan, Tue Apr 29 17:29:32 2003 UTC
# Line 18  from wxPython.wx import * Line 18  from wxPython.wx import *
18  from wxPython.grid import *  from wxPython.grid import *
19    
20  from Thuban import _  from Thuban import _
 from Thuban.common import *  
21  from Thuban.UI.common import *  from Thuban.UI.common import *
22    
23  from Thuban.Model.classification import *  from Thuban.Model.classification import *
# Line 398  class ClassTable(wxPyGridTableBase): Line 397  class ClassTable(wxPyGridTableBase):
397              if isinstance(group, ClassGroupMap):       return _("Map")              if isinstance(group, ClassGroupMap):       return _("Map")
398    
399          assert False # shouldn't get here          assert False # shouldn't get here
400          return _("")          return ""
401    
402      def GetNumberRows(self):      def GetNumberRows(self):
403          """Return the number of rows."""          """Return the number of rows."""
# Line 478  class ClassTable(wxPyGridTableBase): Line 477  class ClassTable(wxPyGridTableBase):
477          elif type in (FIELDTYPE_INT, FIELDTYPE_DOUBLE):          elif type in (FIELDTYPE_INT, FIELDTYPE_DOUBLE):
478    
479              if type == FIELDTYPE_INT:              if type == FIELDTYPE_INT:
480                    # the float call allows the user to enter 1.0 for 1
481                  conv = lambda p: int(float(p))                  conv = lambda p: int(float(p))
482              else:              else:
483                  conv = lambda p: p                  conv = lambda p: p
# Line 492  class ClassTable(wxPyGridTableBase): Line 492  class ClassTable(wxPyGridTableBase):
492              # function.              # function.
493              #              #
494              try:              try:
495                  return (conv(Str2Num(value)),)                  return (conv(value),)
496              except ValueError:              except ValueError:
497                  i = value.find('-')                  i = value.find('-')
498                  if i == 0:                  if i == 0:
499                      i = value.find('-', 1)                      i = value.find('-', 1)
500    
501                  return (conv(Str2Num(value[:i])), conv(Str2Num(value[i+1:])))                  return (conv(value[:i]), conv(value[i+1:]))
502    
503          assert False  # shouldn't get here          assert False  # shouldn't get here
504          return (0,)          return (0,)
# Line 558  class ClassTable(wxPyGridTableBase): Line 558  class ClassTable(wxPyGridTableBase):
558                      #                      #
559                      if len(dataInfo) == 1:                      if len(dataInfo) == 1:
560                          if not isinstance(group, ClassGroupSingleton):                          if not isinstance(group, ClassGroupSingleton):
561                              ngroup = ClassGroupSingleton(prop = props)                              ngroup = ClassGroupSingleton(props = props)
562                              changed = True                              changed = True
563                          ngroup.SetValue(dataInfo[0])                          ngroup.SetValue(dataInfo[0])
564                      elif len(dataInfo) == 2:                      elif len(dataInfo) == 2:
565                          if not isinstance(group, ClassGroupRange):                          if not isinstance(group, ClassGroupRange):
566                              ngroup = ClassGroupRange(prop = props)                              ngroup = ClassGroupRange(props = props)
567                              changed = True                              changed = True
568                          ngroup.SetRange(dataInfo[0], dataInfo[1])                          ngroup.SetRange(dataInfo[0], dataInfo[1])
569                      else:                      else:
# Line 697  class Classifier(NonModalDialog): Line 697  class Classifier(NonModalDialog):
697    
698          topBox = wxBoxSizer(wxVERTICAL)          topBox = wxBoxSizer(wxVERTICAL)
699    
700            panel = wxPanel(self, -1, size=(100, 100))
701    
702            panelBox = wxBoxSizer(wxVERTICAL)
703    
704          sizer = wxBoxSizer(wxHORIZONTAL)          sizer = wxBoxSizer(wxHORIZONTAL)
705          sizer.Add(wxStaticText(self, -1, _("Title: ")),          sizer.Add(wxStaticText(panel, -1, _("Title: ")),
706              0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 4)              0, wxALIGN_LEFT | wxALL | wxALIGN_CENTER_VERTICAL, 4)
707          sizer.Add(wxTextCtrl(self, ID_PROPERTY_TITLE, layer.Title()),          sizer.Add(wxTextCtrl(panel, ID_PROPERTY_TITLE, layer.Title()),
708                    1, wxGROW | wxALL, 4)                    1, wxGROW | wxALL, 4)
709          EVT_TEXT(self, ID_PROPERTY_TITLE, self._OnTitleChanged)          EVT_TEXT(self, ID_PROPERTY_TITLE, self._OnTitleChanged)
710    
711          topBox.Add(sizer, 0, wxGROW, 4)          panelBox.Add(sizer, 0, wxGROW, 4)
712    
713          topBox.Add(wxStaticText(self, -1,          panelBox.Add(wxStaticText(panel, -1,
714                                  _("Type: %s") % layer.ShapeType()),                                  _("Type: %s") % layer.ShapeType()),
715              0, wxALIGN_LEFT | wxALL, 4)              0, wxALIGN_LEFT | wxALL, 4)
716    
         panel = wxPanel(self, -1, size=(100, 100))  
717    
718          #####################          #####################
719    
720          #panelBox = wxBoxSizer(wxVERTICAL)          #panelBox = wxBoxSizer(wxVERTICAL)
721          panelBox = wxStaticBoxSizer(          classBox = wxStaticBoxSizer(
722                      wxStaticBox(panel, -1, _("Classification")), wxVERTICAL)                      wxStaticBox(panel, -1, _("Classification")), wxVERTICAL)
723    
724    
725          #          #
726          # make field combo box          # make field choice box
727          #          #
728          self.fields = wxComboBox(panel, ID_PROPERTY_SELECT, "",          self.fields = wxChoice(panel, ID_PROPERTY_SELECT,)
729                                       style = wxCB_READONLY)          #self.fields = wxComboBox(panel, ID_PROPERTY_SELECT, "",
730            #                             style = wxCB_READONLY)
731    
732          self.num_cols = layer.table.field_count()          self.num_cols = layer.table.field_count()
733          # just assume the first field in case one hasn't been          # just assume the first field in case one hasn't been
# Line 756  class Classifier(NonModalDialog): Line 760  class Classifier(NonModalDialog):
760          sizer.Add(wxStaticText(panel, ID_PROPERTY_FIELDTEXT, _("Field: ")),          sizer.Add(wxStaticText(panel, ID_PROPERTY_FIELDTEXT, _("Field: ")),
761              0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 4)              0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 4)
762          sizer.Add(self.fields, 1, wxGROW | wxALL, 4)          sizer.Add(self.fields, 1, wxGROW | wxALL, 4)
763          EVT_COMBOBOX(self, ID_PROPERTY_SELECT, self._OnFieldSelect)          EVT_CHOICE(self, ID_PROPERTY_SELECT, self._OnFieldSelect)
764            #EVT_COMBOBOX(self, ID_PROPERTY_SELECT, self._OnFieldSelect)
765    
766          panelBox.Add(sizer, 0, wxGROW, 4)          classBox.Add(sizer, 0, wxGROW, 4)
767    
768          self.fieldTypeText = wxStaticText(panel, -1, "")          self.fieldTypeText = wxStaticText(panel, -1, "")
769          panelBox.Add(self.fieldTypeText, 0,          classBox.Add(self.fieldTypeText, 0,
770                       wxGROW | wxALIGN_LEFT | wxALL | wxADJUST_MINSIZE, 4)                       wxGROW | wxALIGN_LEFT | wxALL | wxADJUST_MINSIZE, 4)
771    
772    
# Line 811  class Classifier(NonModalDialog): Line 816  class Classifier(NonModalDialog):
816          self.__SelectField(self.__cur_field, group = group)          self.__SelectField(self.__cur_field, group = group)
817    
818          controlBox.Add(self.classGrid, 1, wxGROW, 0)          controlBox.Add(self.classGrid, 1, wxGROW, 0)
   
819          controlBox.Add(controlButtonBox, 0, wxGROW, 10)          controlBox.Add(controlButtonBox, 0, wxGROW, 10)
820          panelBox.Add(controlBox, 1, wxGROW, 10)  
821            classBox.Add(controlBox, 1, wxGROW, 10)
822            panelBox.Add(classBox, 1, wxGROW, 0)
823    
824          EVT_BUTTON(self, ID_PROPERTY_ADD, self._OnAdd)          EVT_BUTTON(self, ID_PROPERTY_ADD, self._OnAdd)
825          EVT_BUTTON(self, ID_PROPERTY_EDITSYM, self._OnEditSymbol)          EVT_BUTTON(self, ID_PROPERTY_EDITSYM, self._OnEditSymbol)
# Line 824  class Classifier(NonModalDialog): Line 830  class Classifier(NonModalDialog):
830    
831          ###########          ###########
832    
833    
834          panel.SetAutoLayout(True)          panel.SetAutoLayout(True)
835          panel.SetSizer(panelBox)          panel.SetSizer(panelBox)
836          panelBox.SetSizeHints(panel)          panelBox.SetSizeHints(panel)

Legend:
Removed from v.650  
changed lines
  Added in v.783

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26