tbx  0.7.3
Public Types | Public Member Functions | List of all members
tbx::SaveAs Class Reference

Class to show the RISC OS SaveAs dialog box and generate events to allow the application to do the Save. More...

#include <saveas.h>

Inheritance diagram for tbx::SaveAs:
tbx::ShowFullObject tbx::ShowPointObject tbx::Object

Public Types

enum  { TOOLBOX_CLASS = 0x82bc0 }
 

Public Member Functions

 SaveAs ()
 Construct creates an unassigned SaveAs. More...
 
 SaveAs (const SaveAs &other)
 Construct a SaveAs from another SaveAs. More...
 
 SaveAs (const Object &other)
 Construct a SaveAs from an Object that refers to a SaveAs. More...
 
 SaveAs (const std::string &template_name)
 Create a SaveAs from the named template. More...
 
 SaveAs (const res::ResSaveAs &object_template)
 Create a SaveAs from an in memory template resource. More...
 
SaveAsoperator= (const SaveAs &other)
 Assign this SaveAs from another. More...
 
SaveAsoperator= (const Object &other)
 Assign this SaveAs from an Object that refers to a SaveAs. More...
 
bool operator== (const Object &other) const
 Check if this SaveAs refers to the same underlying toolbox object as another. More...
 
bool operator!= (const Object &other) const
 Check if this SaveAs does not refers to the same underlying toolbox object as another. More...
 
Window window () const
 Return the underlying toolbox window used to implement the SaveAs object.
 
void title (std::string value)
 Set the title for the SaveAs object.
 
std::string title () const
 Get the title for the SaveAs object.
 
void file_name (std::string value)
 Set the file name for the save as object.
 
std::string file_name () const
 Get the file name for the SaveAs object.
 
void file_type (int value)
 Set the file type for the SaveAs object.
 
int file_type () const
 Get the file type from the SaveAs object.
 
void file_size (int value)
 Set the file size for the SaveAs object.
 
int file_size () const
 Get the file size from the SaveAs object.
 
void selection_available (bool available)
 Set if a selection is available.
 
void set_data_address (void *data, int size, void *selection=0, int selection_size=0)
 Set the data addresses for Type 1 saves. More...
 
void buffer_filled (void *buffer, int size)
 Call this as part of a type 3 RAM transfer in a SaveAsFillBufferListener to give the buffer to transfer and its size. More...
 
void file_save_completed (bool successful, std::string file_name)
 Call this after saving a file in the SaveAsSaveToFileListener for type 2 and 3 transfers. More...
 
void add_about_to_be_shown_listener (AboutToBeShownListener *listener)
 This event is raised just before the saveas underlying window is about to be shown. More...
 
void remove_about_to_be_shown_listener (AboutToBeShownListener *listener)
 Remove about to be shown listener. More...
 
void add_has_been_hidden_listener (HasBeenHiddenListener *listener)
 Add listener for when save as dialogue has been hidden. More...
 
void remove_has_been_hidden_listener (HasBeenHiddenListener *listener)
 Remove listener for when save as dialogue has been hidden. More...
 
void add_dialogue_completed_listener (SaveAsDialogueCompletedListener *listener)
 Add listener to be called when the dialogue has been completed. More...
 
void remove_dialogue_completed_listener (SaveAsDialogueCompletedListener *listener)
 Remove listener for when dialog has been completed. More...
 
void add_save_completed_listener (SaveAsSaveCompletedListener *listener)
 Add listener for when the save operation has completed. More...
 
void remove_save_completed_listener (SaveAsSaveCompletedListener *listener)
 Remove save as completed listener. More...
 
void set_save_to_file_handler (SaveAsSaveToFileHandler *handler)
 Set handler to do save to a file. More...
 
void set_fill_buffer_handler (SaveAsFillBufferHandler *handler)
 Set handler to fill a buffer. More...
 
- Public Member Functions inherited from tbx::ShowFullObject
 ShowFullObject ()
 Constructor with no reference to a Toolbox object. More...
 
 ShowFullObject (ObjectId handle)
 Construct from a Toolbox object id. More...
 
 ShowFullObject (const Object &other)
 Construct as reference to another Toolbox object. More...
 
 ShowFullObject (const std::string &template_name)
 Create a Toolbox object and make this object a reference to it. More...
 
 ShowFullObject (const res::ResObject &object_template)
 Create Toolbox object from a memory template and make this object a reference to it. More...
 
void show (const ShowFullSpec &full_spec)
 Show object with full position specified.
 
void show (const ShowFullSpec &full_spec, const Object &parent)
 Show object with full position specified.
 
void show (const ShowFullSpec &full_spec, const Component &parent)
 Show object with full position specified.
 
- Public Member Functions inherited from tbx::ShowPointObject
 ShowPointObject ()
 Constructor with no reference to a Toolbox object. More...
 
 ShowPointObject (ObjectId handle)
 Construct from a Toolbox object id. More...
 
 ShowPointObject (const Object &other)
 Construct as reference to another Toolbox object. More...
 
 ShowPointObject (const std::string &template_name)
 Create a Toolbox object and make this object a reference to it. More...
 
 ShowPointObject (const res::ResObject &object_template)
 Create Toolbox object from a memory template and make this object a reference to it. More...
 
void show (const Object &parent)
 Show object with given parent object.
 
void show (const Component &parent)
 Show object with given parent component.
 
void show (const Point &pos)
 Show object with top left at the given position.
 
void show (const Point &pos, const Object &parent)
 Show object with top left at the given position.
 
void show (const Point &pos, const Component &parent)
 Show object with top left at the given position.
 
void show_as_menu ()
 Show object as a menu at default position.
 
void show_as_menu (const Object &parent)
 Show object as a menu with the given parent.
 
void show_as_menu (const Component &parent)
 Show object as a menu with the given parent.
 
void show_as_menu (const Point &pos)
 Show object as a menu at the given point with the given parent.
 
void show_as_menu (const Point &pos, const Object &parent)
 Show object as a menu at the given point with the given parent.
 
void show_as_menu (const Point &pos, const Component &parent)
 Show object as a menu at the given point with the given parent.
 
void show_as_submenu (const MenuItem &parent)
 Show object as a sub menu from the given menu item.
 
void show_as_submenu (const Point &pos, const MenuItem &parent)
 Show object as a sub menu at the given point from the given menu item.
 
- Public Member Functions inherited from tbx::Object
 Object ()
 Constructs an object unattached to a toolbox object. More...
 
 Object (ObjectId handle)
 Construct an object referencing the given toolbox object. More...
 
 Object (const Object &other)
 Construct an object referencing the same toolbox object as another.
 
 Object (const std::string &template_name)
 Create a toolbox object with the given name in the application resources and assign a reference to it in this object. More...
 
void delete_object ()
 Delete the underlying toolbox object. More...
 
bool null () const
 Check if object has been initialised. More...
 
ObjectId handle () const
 Return the underlying toolbox object id this object references. More...
 
Objectoperator= (const Object &other)
 Assign this object to reference the same toolbox object as another. More...
 
bool operator== (const Object &other) const
 Check if this object references the same toolbox object as another. More...
 
bool operator!= (const Object &other) const
 Check if this object does not reference the same toolbox object as another. More...
 
 operator bool () const
 Operator to check if an object has been initialised. More...
 
int toolbox_class () const
 Get the toolbox class of this object. More...
 
void check_toolbox_class (int class_id) const
 Check if this objects toolbox class is as specified. More...
 
void * client_handle () const
 Return user defined handle stored against this object. More...
 
void client_handle (void *client_handle)
 Set a user defined handle for this object. More...
 
Object parent_object () const
 Get parent object. More...
 
Component parent_component () const
 Get parent component. More...
 
Object ancestor_object () const
 Get ancestor object. More...
 
Component ancestor_component () const
 Get ancestor component. More...
 
void show ()
 Show the object at the default place. More...
 
void hide ()
 Hide the object. More...
 
bool showing () const
 Check if an object is currently showing.
 
void add_command (int command_id, Command *command)
 Add a command to this Object. More...
 
void remove_command (int command_id, Command *command)
 Remove a command from this object. More...
 
void add_user_event_listener (int event_id, UserEventListener *listener)
 Add a user event listener. More...
 
void remove_user_event_listener (int event_id, UserEventListener *listener)
 Remove a user event listener from this object. More...
 
void add_object_deleted_listener (ObjectDeletedListener *listener)
 Add listener for when the toolbox object referenced by this object has been deleted. More...
 
void remove_object_deleted_listener (ObjectDeletedListener *listener)
 Remove listener for when the toolbox object referenced by this object has been deleted. More...
 
void remove_all_listeners ()
 Remove all listeners and commands from this object. More...
 

Additional Inherited Members

- Protected Member Functions inherited from tbx::Object
 Object (const res::ResObject &object_template)
 Protected constructor to create an object.
 
void add_listener (int action, Listener *listener, RawToolboxEventHandler handler)
 Add a listener for the given toolbox event. More...
 
void remove_listener (int action, Listener *listener)
 Remove listener for toolbox event. More...
 
void set_handler (int action, Listener *listener, RawToolboxEventHandler handler)
 Set handler for an event that should not have more than one listener. More...
 
int int_property (int property_id) const
 Return the value of a property that returns an integer. More...
 
void int_property (int property_id, int value)
 Set the value of a property that requires an integer. More...
 
std::string string_property (int property_id) const
 Return the value of a property that returns text. More...
 
void string_property (int property_id, const std::string &value)
 Set the value of a property that requires a string. More...
 
int string_property_length (int property_id) const
 Gets the size of a string properties buffer. More...
 
bool bool_property (int property_id) const
 Get a boolean property from the toolbox Cobject. More...
 
void bool_property (int property_id, bool value)
 Set a boolean property from the toolbox object. More...
 
- Protected Attributes inherited from tbx::Object
ObjectId _handle
 Handle for toolbox object.
 

Detailed Description

Class to show the RISC OS SaveAs dialog box and generate events to allow the application to do the Save.

The SaveAs object has three types: Type 1: SaveAs does all the saving from a client provided buffer Type 2: SaveAs fires events so the client can save the data to a file Type 3: SaveAs supports type 2 but also fires events to allow a RAM Transfer

Constructor & Destructor Documentation

tbx::SaveAs::SaveAs ( )
inline

Construct creates an unassigned SaveAs.

It must be assigned to a value before the other methods can be used.

tbx::SaveAs::SaveAs ( const SaveAs other)
inline

Construct a SaveAs from another SaveAs.

This class then refers to the same underlying toolbox object as the other SaveAs

Parameters
otherSaveAs to copy.
tbx::SaveAs::SaveAs ( const Object other)
inline

Construct a SaveAs from an Object that refers to a SaveAs.

This class then refers to the same underlying toolbox object as the other object

Parameters
otherObject to copy.
Exceptions
ObjectNullExceptionif the other object refers to a null object handle
ObjectClassExceptionif the other object is not a SaveAs
tbx::SaveAs::SaveAs ( const std::string &  template_name)
inline

Create a SaveAs from the named template.

Parameters
template_nameThe name of the template to create the object from
Exceptions
OsErrorif an object cannot be created from the named template
ObjectClassExceptionif the template is not for a SaveAs
tbx::SaveAs::SaveAs ( const res::ResSaveAs object_template)

Create a SaveAs from an in memory template resource.

Parameters
object_templateThe template to create the object from
Exceptions
OsErrorif an object cannot be created from the template

Member Function Documentation

void tbx::SaveAs::add_about_to_be_shown_listener ( AboutToBeShownListener listener)

This event is raised just before the saveas underlying window is about to be shown.

Commonly it is used to set the file name, file type, file size and if there is a selection available. For save type 1 it can also be used to set the data buffer address

Parameters
listenerlistener to add
void tbx::SaveAs::add_dialogue_completed_listener ( SaveAsDialogueCompletedListener listener)

Add listener to be called when the dialogue has been completed.

Parameters
listenerlistener to add
void tbx::SaveAs::add_has_been_hidden_listener ( HasBeenHiddenListener listener)

Add listener for when save as dialogue has been hidden.

This uses the same toolbox event as the dialogue completed listener, but does not return the additional information.

Parameters
listenerlistener to add
void tbx::SaveAs::add_save_completed_listener ( SaveAsSaveCompletedListener listener)

Add listener for when the save operation has completed.

Parameters
listenerlistener to add
void tbx::SaveAs::buffer_filled ( void *  buffer,
int  size 
)

Call this as part of a type 3 RAM transfer in a SaveAsFillBufferListener to give the buffer to transfer and its size.

Parameters
bufferpointer of data to transfer
sizesize of data in buffer in bytes
void tbx::SaveAs::file_save_completed ( bool  successful,
std::string  file_name 
)

Call this after saving a file in the SaveAsSaveToFileListener for type 2 and 3 transfers.

Parameters
successfulset to true if save was successful
file_nameactual file name client saved to.
bool tbx::SaveAs::operator!= ( const Object other) const
inline

Check if this SaveAs does not refers to the same underlying toolbox object as another.

Parameters
otherObject to compare to
Returns
true if they do not refer to the same underlying toolbox object
SaveAs& tbx::SaveAs::operator= ( const SaveAs other)
inline

Assign this SaveAs from another.

Both objects will then refer to the same underlying toolbox object

Parameters
otherSaveAs to copy
Returns
reference to this SaveAs
SaveAs& tbx::SaveAs::operator= ( const Object other)
inline

Assign this SaveAs from an Object that refers to a SaveAs.

This class then refers to the same underlying toolbox object as the other object

Parameters
otherObject to copy.
Returns
reference to this SaveAs
Exceptions
ObjectNullExceptionif the other object refers to a null object handle
ObjectClassExceptionif the other object is not a SaveAs
bool tbx::SaveAs::operator== ( const Object other) const
inline

Check if this SaveAs refers to the same underlying toolbox object as another.

Parameters
otherObject to compare to
Returns
true if they refer to the same underlying toolbox object
void tbx::SaveAs::remove_about_to_be_shown_listener ( AboutToBeShownListener listener)

Remove about to be shown listener.

Parameters
listenerlistener to remove
void tbx::SaveAs::remove_dialogue_completed_listener ( SaveAsDialogueCompletedListener listener)

Remove listener for when dialog has been completed.

Parameters
listenerlistener to remove
void tbx::SaveAs::remove_has_been_hidden_listener ( HasBeenHiddenListener listener)

Remove listener for when save as dialogue has been hidden.

This uses the same toolbox event as the dialogue completed listener, but does not return the additional information.

Parameters
listenerlistener to remove
void tbx::SaveAs::remove_save_completed_listener ( SaveAsSaveCompletedListener listener)

Remove save as completed listener.

Parameters
listenerlistener to remove
void tbx::SaveAs::set_data_address ( void *  data,
int  size,
void *  selection = 0,
int  selection_size = 0 
)

Set the data addresses for Type 1 saves.

Parameters
dataAddress of data to be saved
sizeSize in bytes of the data to be saved
selectionAddress of selection (if any)
selection_sizeSize of selection in bytes (if any)
void tbx::SaveAs::set_fill_buffer_handler ( SaveAsFillBufferHandler handler)

Set handler to fill a buffer.

Parameters
handlerobject called to fill the buffer
void tbx::SaveAs::set_save_to_file_handler ( SaveAsSaveToFileHandler handler)

Set handler to do save to a file.

Parameters
handlerobject called to do the save

The documentation for this class was generated from the following files: