class_docstr: Container for measurement controls
class_docstr_tok: ["Container","for","measurement","controls"]
code: def update(self, workspace):
      m = workspace.measurements
      self.update_choices(self.object_choice, m.get_object_names())
      object_name = self.get_object_name()
      if object_name is None or object_name not in m.get_object_names():
          self.category_choice.Hide()
          self.measurement_choice.Hide()
          return
      self.category_choice.Show()
      self.measurement_choice.Show()
      categories = set()
      measurements = set()
      current_category = self.__get_selected_choice(
          self.category_choice
      )
      for feature in m.get_feature_names(object_name):
          category, measurement = feature.split("_", 1)
          categories.add(category)
          if category == current_category:
              measurements.add(measurement)
      self.update_choices(self.category_choice, sorted(categories))
      self.update_choices(self.measurement_choice, sorted(measurements))
  
file_path: CellProfiler/src/frontend/cellprofiler/gui/workspace_view/_workspace_view_measurement_row.py
imports: import wx
  import wx.lib
  import wx.lib.colourselect
  from ..constants.workspace_view import C_CHOOSER
  from ..constants.workspace_view import C_COLOR
  from ..constants.workspace_view import C_SHOW
label_desc: Use image node_id 9 for calling the WorkspaceViewMeasurementRow obj's underlying member method code with example usage: obj.update(workspace) without return types