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

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

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

revision 2551 by jonathan, Thu Jan 27 14:19:41 2005 UTC revision 2587 by jonathan, Wed Mar 23 15:30:27 2005 UTC
# Line 17  from Thuban import _ Line 17  from Thuban import _
17  from Thuban.UI.layerproperties import LayerProperties  from Thuban.UI.layerproperties import LayerProperties
18  from Thuban.Model.resource import has_gdal_support, gdal_support_status  from Thuban.Model.resource import has_gdal_support, gdal_support_status
19    
20    from Thuban.version import versions
21    
22    ID_RB_MASK = 4002
23    
24  class RasterLayerProperties(LayerProperties):  class RasterLayerProperties(LayerProperties):
25    
26      def __init__(self, parent, name, layer, *args, **kw):      def __init__(self, parent, name, layer, *args, **kw):
27          LayerProperties.__init__(self, parent, name, layer)          LayerProperties.__init__(self, parent, name, layer)
28    
29          self.old_state = {}          self.old_state = {}
30          self.old_state["use_mask"] = layer.UseMask()          self.old_state["mask_type"] = layer.MaskType()
31    
32          LayerProperties.dialog_layout(self)          LayerProperties.dialog_layout(self)
33    
# Line 79  class RasterLayerProperties(LayerPropert Line 83  class RasterLayerProperties(LayerPropert
83    
84          maskBox = wxBoxSizer(wxHORIZONTAL)          maskBox = wxBoxSizer(wxHORIZONTAL)
85    
86          self.maskCB = wxCheckBox(panel, -1, _("Use Mask"))          if versions['wxPython-tuple'] < (2,5,3):
87          maskBox.Add(self.maskCB, 0, wxRIGHT, 10)              choices = ["None", "Bitmap",
88                           "Alpha (Not support by wxPython %s)" % \
89                           versions['wxPython']]
90            else:
91                choices = ["None", "Bitmap", "Alpha"]
92    
93            self.maskRadioBox = wxRadioBox(panel, ID_RB_MASK, _("Mask Type"),
94                                choices=choices)
95            #self.maskCB = wxCheckBox(panel, -1, _("Use Mask"))
96            maskBox.Add(self.maskRadioBox, 0, wxRIGHT, 10)
97    
98            self.opBox = wxBoxSizer(wxHORIZONTAL)
99            self.opSpinLabel = wxStaticText(panel, -1, _("Opacity:"))
100            self.opBox.Add(self.opSpinLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 4)
101            self.opSpin = wxSpinCtrl(panel, -1,
102                                     str(self.layer.Opacity()*255),
103                                     initial = self.layer.Opacity()*255,
104                                     min=0, max=255)
105            self.opBox.Add(self.opSpin, 0, wxALL, 4)
106            maskBox.Add(self.opBox, 0, wxALL|wxALIGN_CENTER_VERTICAL, 4)
107    
108          rasterBox.Add(maskBox, 0, wxALL, 4)          rasterBox.Add(maskBox, 0, wxALL, 4)
109            #rasterBox.Add(opBox, 0, wxALL, 4)
110    
111          panelBox.Add(rasterBox, 1, wxGROW | wxALL, 4)          panelBox.Add(rasterBox, 1, wxGROW | wxALL, 4)
112    
113          self.maskCB.SetValue(self.old_state["use_mask"])          self.maskRadioBox.SetSelection(self.old_state["mask_type"])
114    
115            self.OnMaskSelect(None)
116    
117            EVT_RADIOBOX(self, ID_RB_MASK, self.OnMaskSelect)
118    
119      def OnTry(self, event):      def OnTry(self, event):
120          self.set_state()          self.set_state()
# Line 95  class RasterLayerProperties(LayerPropert Line 124  class RasterLayerProperties(LayerPropert
124              self.Close()              self.Close()
125    
126      def OnRevert(self, event):      def OnRevert(self, event):
127          self.maskCB.SetValue(self.old_state["use_mask"])          self.maskRadioBox.SetSelection(self.old_state["mask_type"])
128          self.set_state()          self.set_state()
129    
130        def OnMaskSelect(self, event):
131            allowOpacity = self.maskRadioBox.GetSelection()==2
132            self.opSpin.Enable(allowOpacity)
133            self.opSpinLabel.Enable(allowOpacity)
134    
135      def set_state(self):      def set_state(self):
136          self.layer.SetUseMask(self.maskCB.GetValue() == 1)          self.layer.SetMaskType(self.maskRadioBox.GetSelection())
137            self.layer.SetOpacity(self.opSpin.GetValue()/255.0)
138          return True          return True

Legend:
Removed from v.2551  
changed lines
  Added in v.2587

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26