bakery  2.6
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Bakery::App_WithDoc Class Referenceabstract

Main Window which supports documents. More...

#include <App_WithDoc.h>

Inheritance diagram for Bakery::App_WithDoc:
Inheritance graph
[legend]

Public Types

enum  enumSaveChanges { SAVECHANGES_Save, SAVECHANGES_Cancel, SAVECHANGES_Discard }
 
- Public Types inherited from Bakery::App
typedef std::vector< Glib::ustring > type_vecStrings
 
typedef sigc::signal< void > type_signal_hide
 

Public Member Functions

 App_WithDoc (const Glib::ustring &appname="")
 Don't forget to call init() too. More...
 
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 ()
 
- Public Member Functions inherited from Bakery::App
 App (const Glib::ustring &appname=Glib::ustring())
 Don't forget to call init() too. More...
 
virtual ~App ()
 
virtual Glib::ustring get_version () const
 
type_signal_hide ui_signal_hide ()
 
virtual void on_menu_file_new ()
 
virtual void on_menu_file_exit ()
 
virtual void on_menu_edit_cut ()
 
virtual void on_menu_help_about ()=0
 
virtual void on_about_close ()
 

Static Public Member Functions

static bool file_exists (const Glib::ustring &uri)
 
- Static Public Member Functions inherited from Bakery::App
static void set_about_information (const Glib::ustring &strVersion, const type_vecStrings &vecAuthors, const Glib::ustring &strCopyright, const Glib::ustring &strDescription)
 
static void set_about_information (const Glib::ustring &strVersion, const type_vecStrings &vecAuthors, const Glib::ustring &strCopyright, const Glib::ustring &strDescription, const type_vecStrings &vecDocumenters, const Glib::ustring &strTranslatorCredits)
 
static void set_command_line_args (int argc, char **&argv)
 

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. More...
 
virtual const Documentget_document () const
 static_cast<> or dynamic_cast<> this pointer to the correct type. More...
 
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. More...
 
bool open_document_from_data (const guchar *data, std::size_t length)
 Open the document using the supplied document contents. More...
 
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. More...
 
virtual bool on_document_load ()
 override this to show document contents. More...
 
virtual void offer_to_save_changes ()
 
virtual void cancel_close_or_exit ()
 Stop the File|Close or the File|Exit. More...
 
virtual void close_mark_or_destroy ()
 destroy it or mark it for destruction. More...
 
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. More...
 
virtual void ui_show_modification_status ()=0
 
virtual enumSaveChanges ui_offer_to_save_changes ()=0
 
- Protected Member Functions inherited from Bakery::App
virtual void init_ui_manager ()
 Builds the intial ui string, with placeholders. More...
 
virtual void init_menus ()
 Override this to add more menus or different menus. More...
 
virtual void init_menus_file ()=0
 Call this from init_menus() to add the standard file menu. More...
 
virtual void init_menus_edit ()=0
 Call this from init_menus() to add the standard edit menu. More...
 
virtual void init_menus_help ()=0
 Call this from init_menus() to add the standard help menu. More...
 
virtual void init_toolbars ()
 
virtual Appnew_instance ()=0
 
virtual void ui_hide ()=0
 
virtual void ui_bring_to_front ()=0
 

Static Protected Member Functions

static void add_mime_type (const Glib::ustring &mime_type)
 Add a MIME-type that this application can support. More...
 
static Glib::ustring get_conf_fullkey (const Glib::ustring &key)
 
- Static Protected Member Functions inherited from Bakery::App
static void init_app_name (const Glib::ustring &appname)
 
static void set_operation_cancelled (bool bVal=true)
 
static bool get_operation_cancelled ()
 

Protected Attributes

Documentm_pDocument
 
bool m_bCloseAfterSave
 
- Protected Attributes inherited from Bakery::App
type_signal_hide m_signal_hide
 

Static Protected Attributes

static type_list_strings m_mime_types
 
- Static Protected Attributes inherited from Bakery::App
static Glib::ustring m_strAppName
 
static HelpInfo m_HelpInfo
 
static AppInstanceManager m_AppInstanceManager
 
static bool m_bOperationCancelled
 
static bool m_bAboutShown
 
static Glib::ustring m_strCommandLine_0
 

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)
staticprotected

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 ( )
protectedvirtual
virtual void Bakery::App_WithDoc::cancel_close_or_exit ( )
protectedvirtual

Stop the File|Close or the File|Exit.

virtual void Bakery::App_WithDoc::close_mark_or_destroy ( )
protectedvirtual

destroy it or mark it for destruction.

virtual void Bakery::App_WithDoc::document_history_add ( const Glib::ustring &  file_uri)
protectedvirtual

Reimplemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::document_history_remove ( const Glib::ustring &  file_uri)
protectedvirtual

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)
staticprotected
virtual Document* Bakery::App_WithDoc::get_document ( )
protectedvirtual

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

virtual const Document* Bakery::App_WithDoc::get_document ( ) const
protectedvirtual

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 ( )
protectedvirtual
virtual void Bakery::App_WithDoc::offer_saveas ( )
virtual
virtual void Bakery::App_WithDoc::offer_to_save_changes ( )
protectedvirtual
virtual bool Bakery::App_WithDoc::on_document_load ( )
protectedvirtual

override this to show document contents.

virtual void Bakery::App_WithDoc::on_document_modified ( bool  modified)
protectedvirtual

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)
protectedvirtual

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
dataA pointer to the bytes of the document contents.
lengthThe number of bytes in the data.
Returns
true indicates success.
virtual void Bakery::App_WithDoc::set_document_modified ( bool  bModified = true)
protectedvirtual
virtual Glib::ustring Bakery::App_WithDoc::ui_file_select_open ( const Glib::ustring &  ui_file_select_open = Glib::ustring())
protectedpure virtual

Implemented in Bakery::App_WithDoc_Gtk.

virtual Glib::ustring Bakery::App_WithDoc::ui_file_select_save ( const Glib::ustring &  old_file_uri)
protectedpure virtual

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

Parameters
old_file_uriThe 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 ( )
protectedpure virtual

Implemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::ui_show_modification_status ( )
protectedpure virtual

Implemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::ui_warning ( const Glib::ustring &  text,
const Glib::ustring &  secondary_text 
)
protectedpure virtual

Implemented in Bakery::App_WithDoc_Gtk.

virtual void Bakery::App_WithDoc::update_window_title ( )
protectedvirtual

Reimplemented in Bakery::App_WithDoc_Gtk.

Member Data Documentation

bool Bakery::App_WithDoc::m_bCloseAfterSave
protected
type_list_strings Bakery::App_WithDoc::m_mime_types
staticprotected
Document* Bakery::App_WithDoc::m_pDocument
protected

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