/* Copyright 1997 Acorn Computers Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/***************************************************/
/* File   : SaveFile.h                             */
/*                                                 */
/* Purpose: Handle the Save File dialogue (actual  */
/*          file saving is done in Save.c). Relies */
/*          on there being only one Save File      */
/*          dialogue open at a time (it is a       */
/*          shared object).                        */
/*                                                 */
/* Author : A.D.Hodgkinson                         */
/*                                                 */
/* History: 03-Sep-97: Created.                    */
/***************************************************/

/* Save File dialogue component IDs */

#define SaveFileDrag                    0x01200
#define SaveFileWrit                    0x01201
#define SaveFileCancel                  0x01202
#define SaveFileOK                      0x01203

/* Save File dialogue event codes */

#define ESaveFileOK                     0x01203
#define ESaveFileCancel                 0x01202

#define ESaveFileToBeShown              0x013ff
#define ESaveFileHidden                 0x013fe

/* Function prototypes */

_kernel_oserror * savefile_set_leafname          (ObjectId object, ComponentId component, char * leaf);
_kernel_oserror * savefile_set_leafname_from_url (ObjectId object, ComponentId component, char * url);
_kernel_oserror * savefile_set_filetype          (ObjectId object, ComponentId component, int type);

_kernel_oserror * savefile_open_for              (browser_data * b, ObjectId parent);

int               savefile_to_be_shown           (int eventcode, ToolboxEvent * event, IdBlock * idb, void * handle);
int               savefile_hidden                (int eventcode, ToolboxEvent * event, IdBlock * idb, void * handle);

_kernel_oserror * savefile_close                 (ObjectId ancestor, int do_not_close);

void              savefile_return_dialogue_info  (ObjectId * window, ObjectId * ancestor);