<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def save_file(self, path=None, force_overwrite=False, just_settings=False, **kwargs):
 """ Saves the data in the databox to a file. Parameters path=None Path for output. If set to None, use a save dialog. force_overwrite=False Do not question the overwrite if the file already exists. just_settings=False Set to True to save only the state of the DataboxPlot controls **kwargs are sent to the normal databox save_file() function. """

        # Update the binary mode
        if not 'binary' in kwargs: kwargs['binary'] = self.combo_binary.get_text()
        
        # if it's just the settings file, make a new databox
        if just_settings: d = _d.databox()

        # otherwise use the internal databox
        else: d = self

        # add all the controls settings to the header
        for x in self._autosettings_controls: self._store_gui_setting(d, x)

        # save the file using the skeleton function, so as not to recursively 
        # call this one again!
        _d.databox.save_file(d, path, self.file_type, self.file_type, force_overwrite, **kwargs)