code: def _set_propagation(self, width, height):
          
          if width is None:
              width = 0
  
          if height is None:
              height = 0
  
          # set the propagate value
          propagate_function = self.tk.pack_propagate
          if self.layout == "grid":
              propagate_function = self.tk.grid_propagate
  
          propagate_value = True
  
          # if height or width > 0 need to stop propagation
          if isinstance(width, int):
              if width > 0:
                  propagate_value = False
          if isinstance(height, int):
              if height > 0:
                  propagate_value = False
  
          # if you specify a height or width you must specify they other
          # (unless its a fill)
          if isinstance(width, int) and isinstance(height, int):
              if (width == 0 and height > 0) or (height == 0 and width > 0):
                   utils.error_format("You must specify a width and a height for {}".format(self.description))
  
          propagate_function(propagate_value)
docs: Set the propagation value of the tk widget dependent on the width and height
  
          :param int width:
              The width of the widget.
  
          :param int height:
              The height of the widget.