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 * |
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.""" |
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 |
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,) |
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: |
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 |
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 |
|
|
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) |
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) |