The Gnome Chemistry Utils  0.12.11
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
gcu::Application Class Reference

#include <gcu/application.h>

Inheritance diagram for gcu::Application:
gcu::DialogOwner gcp::Application

List of all members.

Public Member Functions

 Application (std::string name, std::string datadir=DATADIR, char const *help_name=NULL, char const *icon_name=NULL)
virtual ~Application ()
void OnHelp (std::string s="")
bool HasHelp ()
std::string & GetName ()
virtual GtkWindow * GetWindow ()
virtual bool FileProcess (G_GNUC_UNUSED const gchar *filename, G_GNUC_UNUSED const gchar *mime_type, G_GNUC_UNUSED bool bSave, G_GNUC_UNUSED GtkWindow *window, G_GNUC_UNUSED Document *pDoc=NULL)
char const * GetCurDir ()
void SetCurDir (char const *dir)
void SetCurDir (std::string const &dir)
void ShowURI (std::string &uri)
void OnBug (char const *uri=PACKAGE_BUGREPORT)
void OnWeb (char const *uri="http://gchemutils.nongnu.org/")
void OnMail (char const *MailAddress="mailto:gchemutils-main@nongnu.org")
void OnLiveAssistance ()
GtkWidget * GetImageResolutionWidget ()
GtkWidget * GetImageSizeWidget ()
std::map< std::string,
GdkPixbufFormat * > & 
GetSupportedPixbufFormats ()
char const * GetPixbufTypeName (std::string &filename, char const *mime_type)
ContentType Load (std::string const &uri, const gchar *mime_type, Document *Doc)
bool Save (std::string const &uri, const gchar *mime_type, Document const *Doc, ContentType type)
virtual DocumentCreateNewDocument ()
std::string const & GetIconName ()
void RegisterOptions (GOptionEntry const *entries, char const *translation_domain=GETTEXT_PACKAGE)
void AddOptions (GOptionContext *context)
std::set< Document * > GetDocs (void)
unsigned GetScreenResolution (void) const
void SetImageResolution (unsigned val)
unsigned GetImageResolution (void) const
unsigned & GetRefImageResolution (void)
void SetImageWidth (unsigned val)
unsigned GetImageWidth (void) const
unsigned & GetRefImageWidth (void)
void SetImageHeight (unsigned val)
unsigned GetImageHeight (void) const
unsigned & GetRefImageHeight (void)
void SetTransparentBackground (bool val)
bool GetTransparentBackground (void) const
bool & GetRefTransparentBackground (void)
GtkRecentManager * GetRecentManager (void) const
- Public Member Functions inherited from gcu::DialogOwner
 DialogOwner ()
virtual ~DialogOwner ()
DialogGetDialog (std::string name)
void ClearDialogs ()

Static Public Member Functions

static GOConfNode * GetConfDir ()
static WindowState GetDefaultWindowState ()
static ApplicationGetDefaultApplication ()

Protected Member Functions

virtual void NoMoreDocsEvent ()

Protected Attributes

std::map< std::string,
GdkPixbufFormat * > 
m_SupportedPixbufFormats
std::set< Document * > m_Docs

Detailed Description

This class is a base class for applications. It provides some basic services.

Definition at line 70 of file gcu/application.h.


Constructor & Destructor Documentation

gcu::Application::Application ( std::string  name,
std::string  datadir = DATADIR,
char const *  help_name = NULL,
char const *  icon_name = NULL 
)
Parameters:
namethe name of the application.
datadirwhere data for the application are stored.
help_namethe name to use for the help file (with .xml extension). If NULL, the name parameter is used.
icon_namethe name to use for the default icon of all windows. If NULL, the help_name or name parameters will be used.

The datadir variable is used to build the full path to the help file: "file://"+datadir+"/gnome/help/"+name+"/"+LANG+"/"+name".xml".

virtual gcu::Application::~Application ( )
virtual

The destructor.

Reimplemented in gcp::Application.


Member Function Documentation

void gcu::Application::AddOptions ( GOptionContext *  context)
Parameters:
context,:a GOptionContext

Adds all registered options to the context. This should be called once just after creating the application and before parsing options.

virtual Document* gcu::Application::CreateNewDocument ( )
inlinevirtual

Virtual method used to create documents. Default behavior does nothing and returns NULL.

Returns:
the newly created document or NULL.

Reimplemented in gcp::Application.

Definition at line 237 of file gcu/application.h.

virtual bool gcu::Application::FileProcess ( G_GNUC_UNUSED const gchar *  filename,
G_GNUC_UNUSED const gchar *  mime_type,
G_GNUC_UNUSED bool  bSave,
G_GNUC_UNUSED GtkWindow *  window,
G_GNUC_UNUSED Document pDoc = NULL 
)
inlinevirtual
Parameters:
filenamethe uri of the file.
mime_typethe mime type of the file if known.
bSavetrue if saving, and false if loading.
windowthe current top level window.
pDocan optional document.

Called by the FileChooser when a file name has been selected. This method does nothing in the parent class and must be implemented in children classes if they use the FileChooser.

Returns:
true if no error occured.

Definition at line 129 of file gcu/application.h.

static GOConfNode* gcu::Application::GetConfDir ( )
static

Method used to retrieve the base configuration node.

Returns:
the base configuration node.
char const* gcu::Application::GetCurDir ( )
inline
Returns:
the path to the current directory.

Definition at line 135 of file gcu/application.h.

static Application* gcu::Application::GetDefaultApplication ( )
static
Returns:
a dummy Application instance which might be used when there is no other Application available.
static WindowState gcu::Application::GetDefaultWindowState ( )
inlinestatic
Returns:
the default WindowState for the application. New window should use this setting.

Definition at line 270 of file gcu/application.h.

gcu::Application::GetDocs ( void  )
inline
Returns:
the set of currently opened documents.

Definition at line 313 of file gcu/application.h.

std::string const& gcu::Application::GetIconName ( )
inline

Retrieves the icon name that should be set to every window owned by the application.

Returns:
the icon name for the appication.

Definition at line 249 of file gcu/application.h.

gcu::Application::GetImageHeight ( void  ) const
inline
Returns:
the current image height used on export.

Definition at line 359 of file gcu/application.h.

gcu::Application::GetImageResolution ( void  ) const
inline
Returns:
the current image resolution used on export.

Definition at line 331 of file gcu/application.h.

GtkWidget* gcu::Application::GetImageResolutionWidget ( )
Returns:
a GtkWidget for managing pixmap resolution when saving as image. This widget is intended to be added to a GtkFileChooserDialog.
GtkWidget* gcu::Application::GetImageSizeWidget ( )
Returns:
a GtkWidget for managing pixmap width and height when saving as image. This widget is intended to be added to a GtkFileChooserDialog.
gcu::Application::GetImageWidth ( void  ) const
inline
Returns:
the current image width used on export.

Definition at line 345 of file gcu/application.h.

std::string& gcu::Application::GetName ( )
inline
Returns:
the name of the application. Mostly useful to set the icon name of a new window.

Definition at line 109 of file gcu/application.h.

char const* gcu::Application::GetPixbufTypeName ( std::string &  filename,
char const *  mime_type 
)
Parameters:
filenamethe file name.
mime_typethe file mime type.

A default extension is appended to filename if none is detected.

Returns:
the GdkPixbuf name associated to mime_type or NULL if the file type is not supported by GdkPixbuf.
gcu::Application::GetRecentManager ( void  ) const
inline
Returns:
the GtkRecentFileManager attached to the application.

Definition at line 375 of file gcu/application.h.

gcu::Application::GetRefImageHeight ( void  )
inline
Returns:
the current image height used on export as a reference.

Definition at line 359 of file gcu/application.h.

gcu::Application::GetRefImageResolution ( void  )
inline
Returns:
the current image resolution used on export as a reference.

Definition at line 331 of file gcu/application.h.

gcu::Application::GetRefImageWidth ( void  )
inline
Returns:
the current image width used on export as a reference.

Definition at line 345 of file gcu/application.h.

gcu::Application::GetRefTransparentBackground ( void  )
inline
Returns:
whether exported image have a transparent background as a reference.

Definition at line 371 of file gcu/application.h.

gcu::Application::GetScreenResolution ( void  ) const
inline
Returns:
the current screen resolution.

Definition at line 317 of file gcu/application.h.

std::map<std::string, GdkPixbufFormat*>& gcu::Application::GetSupportedPixbufFormats ( )
inline
Returns:
a std::map of the supported pixbuf formats. Keys are the mime type names.

Definition at line 197 of file gcu/application.h.

References m_SupportedPixbufFormats.

gcu::Application::GetTransparentBackground ( void  ) const
inline
Returns:
whether exported image have a transparent background.

Definition at line 371 of file gcu/application.h.

virtual GtkWindow* gcu::Application::GetWindow ( )
inlinevirtual
Returns:
a GtkWindow if any. Should be overloaded by children classes.

Reimplemented in gcp::Application.

Definition at line 114 of file gcu/application.h.

bool gcu::Application::HasHelp ( )
Returns:
true if both a help browser and a help file are available, false otherwise.
ContentType gcu::Application::Load ( std::string const &  uri,
const gchar *  mime_type,
Document Doc 
)
Parameters:
urithe uri of the document to load.
mime_typethe mime type of the document.
Docthe document instance which will contain the loaded data.

This method loads a document using the appropriate gcu::Loader class instance.

Returns:
true if no error occurred.
virtual void gcu::Application::NoMoreDocsEvent ( )
inlineprotectedvirtual

This method is called by the framework when all the documents have been removed from the set of opened documents. The default behavior is to call gtk_main_quit and exit the program. Derived class might overide this method to change this.

Definition at line 284 of file gcu/application.h.

void gcu::Application::OnBug ( char const *  uri = PACKAGE_BUGREPORT)
inline
Parameters:
urithe uri to the package bugs database. Default value is PACKAGE_BUGREPORT.

Opens the bugs web page in the default browser if any.

Definition at line 159 of file gcu/application.h.

References ShowURI().

void gcu::Application::OnHelp ( std::string  s = "")
Parameters:
san optional tag in the help file. Displays the help file using the file browser retrieved from GConf using the "/desktop/gnome/applications/help_viewer/exec" key. If a tag is given, it will be added to the help uri. For an application named "myapp" and a tag "mytag", the uri will be: helpfilename#myapp-mytag.
void gcu::Application::OnLiveAssistance ( )

Attempts to open the #gchemutils channel at irc.gimp.net.

void gcu::Application::OnMail ( char const *  MailAddress = "mailto:gchemutils-main@nongnu.org")
Parameters:
MailAddressthe mail adress to which a message will be sent. Defaults to the Gnome Chemistry Utils main list.

Creates a new empty message using the default mail if any.

void gcu::Application::OnWeb ( char const *  uri = "http://gchemutils.nongnu.org/")
inline
Parameters:
urithe uri to the main web page of the program. Default value is "http://gchemutils.nongnu.org/".

Definition at line 166 of file gcu/application.h.

References ShowURI().

void gcu::Application::RegisterOptions ( GOptionEntry const *  entries,
char const *  translation_domain = GETTEXT_PACKAGE 
)
Parameters:
entries,:the entries to register.
translation_domain,:the entries to register.

Adds new command line options. Typically called from a plugin. The new options are added to the main group.

bool gcu::Application::Save ( std::string const &  uri,
const gchar *  mime_type,
Document const *  Doc,
ContentType  type 
)
Parameters:
urithe uri to which the document should be saved.
mime_typethe mime type of the document.
Docthe document instance which contains the data to be saved.
typethe type of the data to be saved (see gcu::ContentType).

This method saves the document using the appropriate gcu::Loader class instance.

Returns:
true if no error occurred.
void gcu::Application::SetCurDir ( char const *  dir)
Parameters:
dirthe path to the new current directory.
void gcu::Application::SetCurDir ( std::string const &  dir)
Parameters:
dirthe path to the new current directory.
gcu::Application::SetImageHeight ( unsigned  Height)
inline
Parameters:
Heightthe new image height.

Sets the image height used when exporting a pixmap. Applications can use either the image resolution or the width and height to select an exported image size, but not both.

Definition at line 359 of file gcu/application.h.

gcu::Application::SetImageResolution ( unsigned  ImageResolution)
inline
Parameters:
ImageResolutionthe new image resolution.

Sets the image resolution used when exporting a pixmap. Applications can use either the image resolution or the width and height to select an exported image size, but not both.

Definition at line 331 of file gcu/application.h.

gcu::Application::SetImageWidth ( unsigned  Width)
inline
Parameters:
Widththe new image width.

Sets the image width used when exporting a pixmap. Applications can use either the image resolution or the width and height to select an exported image size, but not both.

Definition at line 345 of file gcu/application.h.

gcu::Application::SetTransparentBackground ( bool  transparent)
inline
Parameters:
transparentwhether an export image should have a transparent background.

Sets the transparency of the exported image when possible.

Definition at line 371 of file gcu/application.h.

void gcu::Application::ShowURI ( std::string &  uri)
Parameters:
urithe uri to display.

Displays uri in the default web browser if any.

Referenced by OnBug(), and OnWeb().


Member Data Documentation

gcu::Application::m_Docs
protected

The currently opened documents.

Definition at line 313 of file gcu/application.h.

Referenced by gcp::Application::GetDocsNumber().

std::map<std::string, GdkPixbufFormat*> gcu::Application::m_SupportedPixbufFormats
protected

std::map of the supported pixbuf formats. Keys are the mime type names.

Definition at line 305 of file gcu/application.h.

Referenced by GetSupportedPixbufFormats().


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