Bakery::App_WithDoc Class Reference
Main Window which supports documents.
More...
#include <App_WithDoc.h>
List of all members.
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:
- 1 document per application instance. Uses Document-derived class polymorphically.
- Override init_create_document() to create new blank document.
- Appropriate Default handling of document open, save, save as.
- Appropriate checking of document 'modified' status - asks user about unsaved changes.
- Asks user about overwriting existing documents.
- Override methods to add/change menus/toolbars/statusbar.
- Default is basic File, Edit, Help menus and toolbar icons.
- Shows document name (or 'untitled') in window title.
- Shows * in title bar for unsaved docs. Overridable to e.g. shade a Save icon.
- Enforces a file extension.
- Recent Documents menu item - if you use add_mime_type().
TODO:
- Printing -?
- Print Setup
- Print Preview
- Multiple document-types:
- File/New sub menu
- Some way to associate a view with a document type: class factory.
Member Typedef Documentation
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] |
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] |
virtual void Bakery::App_WithDoc::document_history_remove |
( |
const Glib::ustring & |
file_uri |
) |
[protected, virtual] |
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] |
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] |
virtual void Bakery::App_WithDoc::on_menu_edit_clear |
( |
|
) |
[virtual] |
virtual void Bakery::App_WithDoc::on_menu_edit_copy |
( |
|
) |
[virtual] |
virtual void Bakery::App_WithDoc::on_menu_edit_paste |
( |
|
) |
[virtual] |
virtual void Bakery::App_WithDoc::on_menu_file_close |
( |
|
) |
[virtual] |
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] |
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] |
virtual void Bakery::App_WithDoc::ui_show_modification_status |
( |
|
) |
[protected, pure virtual] |
virtual void Bakery::App_WithDoc::ui_warning |
( |
const Glib::ustring & |
text, |
|
|
const Glib::ustring & |
secondary_text | |
|
) |
| | [protected, pure virtual] |
virtual void Bakery::App_WithDoc::update_window_title |
( |
|
) |
[protected, virtual] |
Member Data Documentation
The documentation for this class was generated from the following file: