19 |
|
|
20 |
from Thuban.version import versions |
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): |
90 |
else: |
else: |
91 |
choices = ["None", "Bitmap", "Alpha"] |
choices = ["None", "Bitmap", "Alpha"] |
92 |
|
|
93 |
self.maskRadioBox = wxRadioBox(panel, -1, _("Mask Type"), |
self.maskRadioBox = wxRadioBox(panel, ID_RB_MASK, _("Mask Type"), |
94 |
choices=choices) |
choices=choices) |
95 |
#self.maskCB = wxCheckBox(panel, -1, _("Use Mask")) |
#self.maskCB = wxCheckBox(panel, -1, _("Use Mask")) |
96 |
maskBox.Add(self.maskRadioBox, 0, wxRIGHT, 10) |
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.maskRadioBox.SetSelection(self.old_state["mask_type"]) |
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() |
121 |
|
|
127 |
self.maskRadioBox.SetSelection(self.old_state["mask_type"]) |
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.SetMaskType(self.maskRadioBox.GetSelection()) |
self.layer.SetMaskType(self.maskRadioBox.GetSelection()) |
137 |
|
self.layer.SetOpacity(self.opSpin.GetValue()/255.0) |
138 |
return True |
return True |