Bakery::App_WithDoc Class Reference

Main Window which supports documents. More...

#include <App_WithDoc.h>

Inheritance diagram for Bakery::App_WithDoc:

Inheritance graph
[legend]

List of all members.

Public Types

enum  enumSaveChanges { SAVECHANGES_Save, SAVECHANGES_Cancel, SAVECHANGES_Discard }

Public Member Functions

 App_WithDoc (const Glib::ustring &appname="")
 Don't forget to call init() too.
virtual ~App_WithDoc ()
virtual void init ()
virtual void on_menu_file_open ()
virtual void on_menu_file_saveas ()
virtual void offer_saveas ()
virtual void on_menu_file_save ()
virtual void on_menu_file_close ()
virtual void on_menu_edit_copy ()
virtual void on_menu_edit_paste ()
virtual void on_menu_edit_clear ()

Static Public Member Functions

static bool file_exists (const Glib::ustring &uri)

Protected Types

typedef std::list< Glib::ustring > type_list_strings

Protected Member Functions

virtual void init_create_document ()
virtual Documentget_document ()
 static_cast<> or dynamic_cast<> this pointer to the correct type.
virtual const Documentget_document () const
 static_cast<> or dynamic_cast<> this pointer to the correct type.
virtual void set_document_modified (bool bModified=true)
virtual bool open_document (const Glib::ustring &file_uri)
 Open the document from a file at a URI.
bool open_document_from_data (const guchar *data, std::size_t length)
 Open the document using the supplied document contents.
virtual void document_history_add (const Glib::ustring &file_uri)
virtual void document_history_remove (const Glib::ustring &file_uri)
virtual void on_document_modified (bool modified)
 Update visual status.
virtual bool on_document_load ()
 override this to show document contents.
virtual void offer_to_save_changes ()
virtual void cancel_close_or_exit ()
 Stop the File|Close or the File|Exit.
virtual void close_mark_or_destroy ()
 destroy it or mark it for destruction.
virtual void update_window_title ()
virtual void after_successful_save ()
virtual void ui_warning (const Glib::ustring &text, const Glib::ustring &secondary_text)=0
virtual Glib::ustring ui_file_select_open (const Glib::ustring &ui_file_select_open=Glib::ustring())=0
virtual Glib::ustring ui_file_select_save (const Glib::ustring &old_file_uri)=0
 Present a user interface that allows the user to select a location to save the file.
virtual void ui_show_modification_status ()=0
virtual enumSaveChanges ui_offer_to_save_changes ()=0

Static Protected Member Functions

static void add_mime_type (const Glib::ustring &mime_type)
 Add a MIME-type that this application can support.
static Glib::ustring get_conf_fullkey (const Glib::ustring &key)

Protected Attributes

Documentm_pDocument
bool m_bCloseAfterSave

Static Protected Attributes

static type_list_strings m_mime_types


Detailed Description

Main Window which supports documents.

This is an abstract class. You must use a class such as App_WithDoc_Gtk, which implements the ui_* methods for a particular GUI toolkit.

Features:

TODO:


Member Typedef Documentation

typedef std::list<Glib::ustring> Bakery::App_WithDoc::type_list_strings [protected]


Member Enumeration Documentation

Enumerator:
SAVECHANGES_Save 
SAVECHANGES_Cancel 
SAVECHANGES_Discard 


Constructor & Destructor Documentation

Bakery::App_WithDoc::App_WithDoc ( const Glib::ustring &  appname = ""  ) 

Don't forget to call init() too.

virtual Bakery::App_WithDoc::~App_WithDoc (  )  [virtual]


Member Function Documentation

static void Bakery::App_WithDoc::add_mime_type ( const Glib::ustring &  mime_type  )  [static, protected]

Add a MIME-type that this application can support.

You should also register the MIME-type when the application is installed: See http://freedesktop.org/Standards/AddingMIMETutor

virtual void Bakery::App_WithDoc::after_successful_save (  )  [protected, virtual]

virtual void Bakery::App_WithDoc::cancel_close_or_exit (  )  [protected, virtual]

Stop the File|Close or the File|Exit.

virtual void Bakery::App_WithDoc::close_mark_or_destroy (  )  [protected, virtual]

destroy it or mark it for destruction.

virtual void Bakery::App_WithDoc::document_history_add ( const Glib::ustring &  file_uri  )  [protected, virtual]

Reimplemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::document_history_remove ( const Glib::ustring &  file_uri  )  [protected, virtual]

Reimplemented in Bakery::App_WithDoc_Gtk.

static bool Bakery::App_WithDoc::file_exists ( const Glib::ustring &  uri  )  [static]

static Glib::ustring Bakery::App_WithDoc::get_conf_fullkey ( const Glib::ustring &  key  )  [static, protected]

virtual const Document* Bakery::App_WithDoc::get_document (  )  const [protected, virtual]

static_cast<> or dynamic_cast<> this pointer to the correct type.

virtual Document* Bakery::App_WithDoc::get_document (  )  [protected, virtual]

static_cast<> or dynamic_cast<> this pointer to the correct type.

virtual void Bakery::App_WithDoc::init (  )  [virtual]

Reimplemented from Bakery::App.

Reimplemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::init_create_document (  )  [protected, virtual]

virtual void Bakery::App_WithDoc::offer_saveas (  )  [virtual]

virtual void Bakery::App_WithDoc::offer_to_save_changes (  )  [protected, virtual]

virtual bool Bakery::App_WithDoc::on_document_load (  )  [protected, virtual]

override this to show document contents.

virtual void Bakery::App_WithDoc::on_document_modified ( bool  modified  )  [protected, virtual]

Update visual status.

virtual void Bakery::App_WithDoc::on_menu_edit_clear (  )  [virtual]

Reimplemented from Bakery::App.

virtual void Bakery::App_WithDoc::on_menu_edit_copy (  )  [virtual]

Reimplemented from Bakery::App.

virtual void Bakery::App_WithDoc::on_menu_edit_paste (  )  [virtual]

Reimplemented from Bakery::App.

virtual void Bakery::App_WithDoc::on_menu_file_close (  )  [virtual]

Reimplemented from Bakery::App.

virtual void Bakery::App_WithDoc::on_menu_file_open (  )  [virtual]

virtual void Bakery::App_WithDoc::on_menu_file_save (  )  [virtual]

virtual void Bakery::App_WithDoc::on_menu_file_saveas (  )  [virtual]

virtual bool Bakery::App_WithDoc::open_document ( const Glib::ustring &  file_uri  )  [protected, virtual]

Open the document from a file at a URI.

This will check whether the document is already open.

Returns:
true indicates success.

bool Bakery::App_WithDoc::open_document_from_data ( const guchar *  data,
std::size_t  length 
) [protected]

Open the document using the supplied document contents.

Unlike open_document(), this has no way to know whether the document is already open.

Parameters:
data A pointer to the bytes of the document contents.
length The number of bytes in the data.
Returns:
true indicates success.

virtual void Bakery::App_WithDoc::set_document_modified ( bool  bModified = true  )  [protected, virtual]

virtual Glib::ustring Bakery::App_WithDoc::ui_file_select_open ( const Glib::ustring &  ui_file_select_open = Glib::ustring()  )  [protected, pure virtual]

Implemented in Bakery::App_WithDoc_Gtk.

virtual Glib::ustring Bakery::App_WithDoc::ui_file_select_save ( const Glib::ustring &  old_file_uri  )  [protected, pure virtual]

Present a user interface that allows the user to select a location to save the file.

Parameters:
old_file_uri The existing URI of the file, if any.
Returns:
The URI of the file chosen by the user.

Implemented in Bakery::App_WithDoc_Gtk.

virtual enumSaveChanges Bakery::App_WithDoc::ui_offer_to_save_changes (  )  [protected, pure virtual]

Implemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::ui_show_modification_status (  )  [protected, pure virtual]

Implemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::ui_warning ( const Glib::ustring &  text,
const Glib::ustring &  secondary_text 
) [protected, pure virtual]

Implemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::update_window_title (  )  [protected, virtual]

Reimplemented in Bakery::App_WithDoc_Gtk.


Member Data Documentation


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

Generated on Mon Feb 23 23:17:24 2009 for bakery by  doxygen 1.5.8