Package arcjobtool :: Module DefaultServicesDialog
[hide private]
[frames] | no frames]

Source Code for Module arcjobtool.DefaultServicesDialog

  1  # -*- coding: iso-8859-15 -*- 
  2  # generated by wxGlade HG on Mon Jul  6 19:39:07 2009 
  3   
  4  """ 
  5  Module implementing the default services dialog. 
  6  """ 
  7   
  8  import wx 
  9   
 10  # begin wxGlade: dependencies 
 11  # end wxGlade 
 12   
 13  # begin wxGlade: extracode 
 14   
 15  # end wxGlade 
 16   
 17  import arc 
 18   
19 -class DefaultServicesDialog(wx.Dialog, object):
20 """ 21 Class implementing the service dialog box. 22 """
23 - def __init__(self, *args, **kwds):
24 # begin wxGlade: DefaultServicesDialog.__init__ 25 kwds["style"] = wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER|wx.THICK_FRAME 26 wx.Dialog.__init__(self, *args, **kwds) 27 self.selectedServicesLabel = wx.StaticText(self, -1, "Selected services") 28 self.defaultServicesList = wx.ListBox(self, -1, choices=[]) 29 self.addServiceButton = wx.Button(self, -1, "Add...") 30 self.modifyServiceButton = wx.Button(self, -1, "Modify...") 31 self.removeServiceButton = wx.Button(self, -1, "Remove") 32 self.moveToRejectedButton = wx.Button(self, -1, ">>") 33 self.moveToSelectedButton = wx.Button(self, -1, "<<") 34 self.clearServicesButton = wx.Button(self, -1, "Clear") 35 self.rejectedServicesLabel = wx.StaticText(self, -1, "Rejected services") 36 self.rejectedServicesList = wx.ListBox(self, -1, choices=[]) 37 self.okButton = wx.Button(self, -1, "OK") 38 self.cancelButton = wx.Button(self, -1, "Cancel") 39 40 self.__set_properties() 41 self.__do_layout() 42 43 self.Bind(wx.EVT_LISTBOX, self.onSelectedList, self.defaultServicesList) 44 self.Bind(wx.EVT_BUTTON, self.onAddService, self.addServiceButton) 45 self.Bind(wx.EVT_BUTTON, self.onModifyService, self.modifyServiceButton) 46 self.Bind(wx.EVT_BUTTON, self.onRemoveService, self.removeServiceButton) 47 self.Bind(wx.EVT_BUTTON, self.onMoveToRejected, self.moveToRejectedButton) 48 self.Bind(wx.EVT_BUTTON, self.onMoveToSelected, self.moveToSelectedButton) 49 self.Bind(wx.EVT_BUTTON, self.onClearServices, self.clearServicesButton) 50 self.Bind(wx.EVT_LISTBOX, self.onRejectedList, self.rejectedServicesList) 51 self.Bind(wx.EVT_BUTTON, self.onOK, self.okButton) 52 self.Bind(wx.EVT_BUTTON, self.onCancel, self.cancelButton) 53 # end wxGlade 54 55 self.__initDialog()
56
57 - def __set_properties(self):
58 # begin wxGlade: DefaultServicesDialog.__set_properties 59 self.SetTitle("Default services") 60 self.SetSize((647, 315))
61 # end wxGlade 62
63 - def __do_layout(self):
64 # begin wxGlade: DefaultServicesDialog.__do_layout 65 sizer_28 = wx.BoxSizer(wx.VERTICAL) 66 sizer_31 = wx.BoxSizer(wx.HORIZONTAL) 67 sizer_29 = wx.BoxSizer(wx.HORIZONTAL) 68 sizer_9 = wx.BoxSizer(wx.VERTICAL) 69 sizer_30 = wx.BoxSizer(wx.VERTICAL) 70 sizer_2 = wx.BoxSizer(wx.VERTICAL) 71 sizer_2.Add(self.selectedServicesLabel, 0, wx.LEFT|wx.TOP|wx.ADJUST_MINSIZE, 4) 72 sizer_2.Add(self.defaultServicesList, 1, wx.ALL|wx.EXPAND, 4) 73 sizer_29.Add(sizer_2, 1, wx.EXPAND, 0) 74 sizer_30.Add(self.addServiceButton, 0, 0, 0) 75 sizer_30.Add(self.modifyServiceButton, 0, 0, 0) 76 sizer_30.Add(self.removeServiceButton, 0, 0, 0) 77 sizer_30.Add(self.moveToRejectedButton, 0, wx.ADJUST_MINSIZE, 0) 78 sizer_30.Add(self.moveToSelectedButton, 0, wx.ADJUST_MINSIZE, 0) 79 sizer_30.Add(self.clearServicesButton, 0, 0, 0) 80 sizer_29.Add(sizer_30, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 4) 81 sizer_9.Add(self.rejectedServicesLabel, 0, wx.LEFT|wx.TOP|wx.ADJUST_MINSIZE, 4) 82 sizer_9.Add(self.rejectedServicesList, 1, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 4) 83 sizer_29.Add(sizer_9, 1, wx.EXPAND, 0) 84 sizer_28.Add(sizer_29, 1, wx.EXPAND, 0) 85 sizer_31.Add(self.okButton, 0, 0, 0) 86 sizer_31.Add(self.cancelButton, 0, 0, 0) 87 sizer_28.Add(sizer_31, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 4) 88 self.SetSizer(sizer_28) 89 self.Layout() 90 self.Centre()
91 # end wxGlade 92
93 - def __initDialog(self):
94 """ 95 Initialise dialog variables. 96 """ 97 self.__arcGuiConfig = None 98 self.__serviceList = [] 99 self.__selectedListActive = False 100 self.__rejectedListActive = False
101
102 - def __updateListBox(self):
103 """ 104 Update contents of list boxes. 105 """ 106 if self.__arcGuiConfig!=None: 107 self.defaultServicesList.Clear() 108 for serviceName in self.__serviceList: 109 self.defaultServicesList.Append(str(serviceName)) 110 self.rejectedServicesList.Clear() 111 for serviceName in self.__rejectedList: 112 self.rejectedServicesList.Append(str(serviceName))
113
114 - def setArcGuiConfig(self, arcGuiConfig):
115 """ 116 Assign arcgui config instance. 117 """ 118 self.__arcGuiConfig = arcGuiConfig 119 self.__serviceList = list(self.__arcGuiConfig.defaultServices) 120 self.__rejectedList = list(self.__arcGuiConfig.rejectedServices) 121 self.__updateListBox()
122
123 - def getArcGuiConfig(self):
124 """ 125 Return arcgui config instance. 126 """ 127 return self.__arcGuiConfig
128
129 - def onAddService(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
130 """ 131 Add a service to the selected services. 132 """ 133 serviceUrl = wx.GetTextFromUser("Add new service", "Default services", "", centre = True) 134 if serviceUrl!="": 135 self.__serviceList.append(str(serviceUrl)) 136 self.__updateListBox() 137 else: 138 wx.MessageBox("Not a valid URL", "Default services")
139
140 - def onRemoveService(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
141 """ 142 Remove a service from selected or rejected lists. 143 """ 144 if self.__selectedListActive: 145 if self.defaultServicesList.GetSelection()>=0: 146 del self.__serviceList[self.defaultServicesList.GetSelection()] 147 self.defaultServicesList.Delete(self.defaultServicesList.GetSelection()) 148 self.__updateListBox() 149 else: 150 wx.MessageBox("Please select a service in the list.") 151 else: 152 if self.rejectedServicesList.GetSelection()>=0: 153 del self.__rejectedList[self.rejectedServicesList.GetSelection()] 154 self.rejectedServicesList.Delete(self.rejectedServicesList.GetSelection()) 155 self.__updateListBox() 156 else: 157 wx.MessageBox("Please select a service in the list.") 158
159 - def onClearServices(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
160 """ 161 Clear all services. 162 """ 163 self.defaultServicesList.Clear() 164 self.rejectedServicesList.Clear() 165 self.__serviceList = [] 166 self.__updateListBox() 167
168 - def onModifyService(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
169 """ 170 Modify selected or rejected service. 171 """ 172 if self.__selectedListActive: 173 selectedItem = self.defaultServicesList.GetSelection() 174 serviceUrl = self.defaultServicesList.GetString(selectedItem) 175 serviceUrl = wx.GetTextFromUser("Modify service", "Default services", serviceUrl, centre = True) 176 if serviceUrl!="": 177 self.defaultServicesList.SetString(selectedItem, str(serviceUrl)) 178 self.__serviceList[selectedItem] = str(serviceUrl) 179 else: 180 selectedItem = self.rejectedServicesList.GetSelection() 181 serviceUrl = self.rejectedServicesList.GetString(selectedItem) 182 serviceUrl = wx.GetTextFromUser("Modify rejected service", "Rejected services", serviceUrl, centre = True) 183 if serviceUrl!="": 184 self.rejectedServicesList.SetString(selectedItem, serviceUrl) 185 self.__serviceList[selectedItem] = serviceUrl 186
187 - def getServiceList(self):
188 """ 189 Return service list. 190 """ 191 return self.defaultServicesList.GetStrings()
192
193 - def onOK(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
194 """ 195 Assign updates lists of services to the arcgui config instance and 196 close the dialog. 197 """ 198 self.__arcGuiConfig.defaultServices = self.__serviceList 199 self.__arcGuiConfig.rejectedServices = self.__rejectedList 200 self.__arcGuiConfig.update() 201 self.Close() 202
203 - def onCancel(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
204 """ 205 Close dialog without saving any changes. 206 """ 207 self.Close() 208
209 - def onMoveToRejected(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
210 """ 211 Move selected service to rejected list. 212 """ 213 if self.__selectedListActive: 214 if self.defaultServicesList.GetSelection()>=0: 215 serviceToMove = self.__serviceList[self.defaultServicesList.GetSelection()] 216 del self.__serviceList[self.defaultServicesList.GetSelection()] 217 self.defaultServicesList.Delete(self.defaultServicesList.GetSelection()) 218 self.__rejectedList.append(serviceToMove) 219 self.__updateListBox() 220 else: 221 wx.MessageBox("Please select a service in the list.") 222
223 - def onMoveToSelected(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
224 """ 225 Move rejected service to selected list. 226 """ 227 if self.__rejectedListActive: 228 if self.rejectedServicesList.GetSelection()>=0: 229 serviceToMove = self.__rejectedList[self.rejectedServicesList.GetSelection()] 230 del self.__rejectedList[self.rejectedServicesList.GetSelection()] 231 self.rejectedServicesList.Delete(self.rejectedServicesList.GetSelection()) 232 self.__serviceList.append(serviceToMove) 233 self.__updateListBox() 234 else: 235 wx.MessageBox("Please select a service in the list.") 236
237 - def onSelectedList(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
238 """ 239 Update the current list box selection. 240 """ 241 self.__selectedListActive = True 242 self.__rejectedListActive = False 243
244 - def onRejectedList(self, event): # wxGlade: DefaultServicesDialog.<event_handler>
245 """ 246 Update the current list box selection. 247 """ 248 self.__selectedListActive = False 249 self.__rejectedListActive = True 250 251 arcGuiConfig = property(getArcGuiConfig, setArcGuiConfig) 252 253 254 255 # end of class DefaultServicesDialog 256