def get_next_step(self): """Find the proper step when user clicks the Next button. :returns: The step to be switched to :rtype: WizardStep instance or None """ if self.parent.is_selected_layer_keywordless: # insert keyword creation thread here self.parent.parent_step = self self.parent.existing_keywords = None self.parent.set_mode_label_to_keywords_creation() new_step = self.parent.step_kw_purpose else: if layers_intersect(self.parent.hazard_layer, self.parent.exposure_layer): new_step = self.parent.step_fc_agglayer_origin else: new_step = self.parent.step_fc_disjoint_layers return new_step
def get_next_step(self): """Find the proper step when user clicks the Next button. :returns: The step to be switched to. :rtype: WizardStep instance or None """ if self.parent.is_selected_layer_keywordless: # insert keyword creation thread here self.parent.parent_step = self self.parent.existing_keywords = None self.parent.set_mode_label_to_keywords_creation() new_step = self.parent.step_kw_purpose else: if layers_intersect(self.parent.exposure_layer, self.parent.aggregation_layer): new_step = self.parent.step_fc_summary else: new_step = self.parent.step_fc_agglayer_disjoint return new_step
def get_next_step(self): """Find the proper step when user clicks the Next button. :returns: The step to be switched to :rtype: WizardStep instance or None """ if self.parent.parent_step: # Come back from KW to the parent IFCW thread. parent_step = self.parent.parent_step if self.parent.is_layer_compatible(self.parent.layer): # If the layer is compatible, # go to the next step (issue #2347) if parent_step in [ self.parent.step_fc_hazlayer_from_canvas, self.parent.step_fc_hazlayer_from_browser ]: new_step = self.parent.step_fc_explayer_origin elif parent_step in [ self.parent.step_fc_explayer_from_canvas, self.parent.step_fc_explayer_from_browser ]: if layers_intersect(self.parent.hazard_layer, self.parent.exposure_layer): new_step = self.parent.step_fc_agglayer_origin else: new_step = self.parent.step_fc_disjoint_layers elif parent_step in [ self.parent.step_fc_agglayer_from_canvas, self.parent.step_fc_agglayer_from_browser ]: if layers_intersect(self.parent.exposure_layer, self.parent.aggregation_layer): new_step = self.parent.step_fc_summary else: new_step = self.parent.step_fc_agglayer_disjoint else: raise Exception('No such step') else: # If the layer is incompatible, stay on the parent step. # However, if the step is xxxLayerFromCanvas and there are # no compatible layers, the list will be empty, # so go one step back. haz = layer_purpose_hazard['key'] exp = layer_purpose_exposure['key'] agg = layer_purpose_aggregation['key'] if (parent_step == self.parent.step_fc_hazlayer_from_canvas and not self.parent.get_compatible_canvas_layers(haz)): new_step = self.parent.step_fc_hazlayer_origin elif (parent_step == self.parent.step_fc_explayer_from_canvas and not self.parent.get_compatible_canvas_layers(exp)): new_step = self.parent.step_fc_explayer_origin elif (parent_step == self.parent.step_fc_agglayer_from_canvas and not self.parent.get_compatible_canvas_layers(agg)): new_step = self.parent.step_fc_agglayer_origin else: new_step = parent_step self.parent.parent_step = None self.parent.is_selected_layer_keywordless = False self.parent.set_mode_label_to_ifcw() else: # Wizard complete new_step = None # Reset the step history self.parent.keyword_steps = [] return new_step
def get_next_step(self): """Find the proper step when user clicks the Next button. :returns: The step to be switched to :rtype: WizardStep instance or None """ if self.parent.parent_step: # Come back from KW to the parent IFCW thread. parent_step = self.parent.parent_step if self.parent.is_layer_compatible(self.parent.layer): # If the layer is compatible, # go to the next step (issue #2347) if parent_step in [self.parent.step_fc_hazlayer_from_canvas, self.parent.step_fc_hazlayer_from_browser]: new_step = self.parent.step_fc_explayer_origin elif parent_step in [self.parent.step_fc_explayer_from_canvas, self.parent. step_fc_explayer_from_browser]: if layers_intersect( self.parent.hazard_layer, self.parent.exposure_layer): new_step = self.parent.step_fc_agglayer_origin else: new_step = self.parent.step_fc_disjoint_layers elif parent_step in [self.parent.step_fc_agglayer_from_canvas, self.parent. step_fc_agglayer_from_browser]: if layers_intersect(self.parent.exposure_layer, self.parent.aggregation_layer): new_step = self.parent.step_fc_summary else: new_step = self.parent.step_fc_agglayer_disjoint else: raise Exception('No such step') else: # If the layer is incompatible, stay on the parent step. # However, if the step is xxxLayerFromCanvas and there are # no compatible layers, the list will be empty, # so go one step back. haz = layer_purpose_hazard['key'] exp = layer_purpose_exposure['key'] agg = layer_purpose_aggregation['key'] if (parent_step == self.parent.step_fc_hazlayer_from_canvas and not self.parent.get_compatible_canvas_layers(haz)): new_step = self.parent.step_fc_hazlayer_origin elif (parent_step == self.parent.step_fc_explayer_from_canvas and not self.parent.get_compatible_canvas_layers(exp)): new_step = self.parent.step_fc_explayer_origin elif (parent_step == self.parent.step_fc_agglayer_from_canvas and not self.parent.get_compatible_canvas_layers(agg)): new_step = self.parent.step_fc_agglayer_origin else: new_step = parent_step self.parent.parent_step = None self.parent.is_selected_layer_keywordless = False self.parent.set_mode_label_to_ifcw() else: # Wizard complete new_step = None # Reset the step history self.parent.keyword_steps = [] return new_step