The Gnome Chemistry Utils
0.14.0
|
GChemPaint application base class. More...
#include <gcp/application.h>
Public Member Functions | |
Application (gcugtk::CmdContextGtk *cc=NULL) | |
virtual | ~Application () |
void | ActivateTool (const std::string &toolname, bool activate) |
void | ActivateWindowsActionWidget (const char *path, bool activate) |
virtual void | ClearStatus () |
virtual void | SetStatusText (const char *text) |
virtual GtkWindow * | GetWindow ()=0 |
Tool * | GetActiveTool () |
gcp::Document * | GetActiveDocument () |
void | SetActiveDocument (gcp::Document *pDoc) |
Tool * | GetTool (const std::string &name) |
void | SetTool (const std::string &toolname, Tool *tool) |
GtkWidget * | GetToolItem (const std::string &name) |
void | SetToolItem (const std::string &name, GtkWidget *w) |
void | SetCurZ (int Z) |
int | GetCurZ () |
void | OnSaveAs () |
bool | FileProcess (const gchar *filename, const gchar *mime_type, bool bSave, GtkWindow *window, gcu::Document *pDoc=NULL) |
void | SaveGcp (std::string const &filename, gcp::Document *pDoc) |
void | OpenGcp (std::string const &filename, gcp::Document *pDoc) |
xmlDocPtr | GetXmlDoc () |
void | OnSaveAsImage () |
bool | HaveInChI () |
int | GetDocsNumber () |
void | Zoom (double zoom) |
void | AddActions (GtkRadioActionEntry const *entries, int nb, char const *ui_description, IconDesc const *icons) |
void | RegisterToolbar (char const *name, int index) |
void | OnToolChanged (GtkAction *current) |
void | AddTarget (Target *target) |
void | DeleteTarget (Target *target) |
void | NotifyIconification (bool iconified) |
void | NotifyFocus (bool has_focus, Target *target=NULL) |
void | CloseAll () |
std::list< std::string > & | GetSupportedMimeTypes () |
void | OnConfigChanged (GOConfNode *node, gchar const *name) |
std::list< std::string > & | GetExtensions (std::string &mime_type) |
void | OnThemeNamesChanged () |
void | AddMenuCallback (BuildMenuCb cb) |
void | BuildMenu (gcu::UIManager *manager) |
gcu::Document * | CreateNewDocument () |
virtual void | OnFileNew (char const *Theme=NULL)=0 |
GdkCursor * | GetCursor (CursorId id) |
bool | Have3DSupport () |
void | AddCanvas (char const *path, gccv::Canvas *canvas) |
void | ReceiveTargets (GtkClipboard *clipboard, GtkSelectionData *selection_data) |
bool | GetHaveGhemical (void) const |
bool | GetHaveGChem3D (void) const |
bool | GetHaveAvogadro (void) const |
bool | GetUseAtomColors (void) const |
Public Member Functions inherited from gcugtk::Application | |
Application (std::string name, std::string datadir=DATADIR, char const *help_name=NULL, char const *icon_name=NULL, CmdContextGtk *cc=NULL) | |
GtkWidget * | GetImageResolutionWidget () |
GtkWidget * | GetImageSizeWidget () |
virtual void | ReceiveTargets (G_GNUC_UNUSED GtkClipboard *clipboard, G_GNUC_UNUSED GtkSelectionData *selection_data) |
void | ShowURI (GdkScreen *screen, std::string &uri) |
void | OnBug (GdkScreen *screen, char const *uri=PACKAGE_BUGREPORT) |
void | OnWeb (GdkScreen *screen, char const *uri="http://gchemutils.nongnu.org/") |
void | OnMail (GdkScreen *screen, char const *MailAddress="mailto:gchemutils-main@nongnu.org") |
void | OnLiveAssistance (GdkScreen *screen) |
GtkRecentManager * | GetRecentManager (void) const |
Public Member Functions inherited from gcu::Application | |
Application (std::string name, std::string datadir=DATADIR, char const *help_name=NULL, char const *icon_name=NULL, CmdContext *cc=NULL) | |
void | OnHelp (std::string s="") |
bool | HasHelp () |
std::string const & | GetName () const |
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) |
std::map< std::string, GdkPixbufFormat * > & | GetSupportedPixbufFormats () |
char const * | GetPixbufTypeName (std::string &filename, char const *mime_type) |
ContentType | Load (std::string const &uri, const char *mime_type, Document *Doc, const char *options=NULL) |
ContentType | Load (GsfInput *input, const char *mime_type, Document *Doc, const char *options=NULL) |
bool | Save (std::string const &uri, const char *mime_type, Object const *Obj, ContentType type, const char *options=NULL) |
bool | Save (GsfOutput *output, const char *mime_type, Object const *Obj, ContentType type, const char *options=NULL) |
std::string const & | GetIconName () |
void | RegisterOptions (GOptionEntry const *entries, char const *translation_domain=GETTEXT_PACKAGE) |
void | AddOptions (GOptionContext *context) |
TypeId | AddType (std::string TypeName, Object *(*CreateFunc)(), TypeId id=OtherType) |
Object * | CreateObject (const std::string &TypeName, Object *parent=NULL) |
void | AddRule (TypeId type1, RuleId rule, TypeId type2) |
void | AddRule (const std::string &type1, RuleId rule, const std::string &type2) |
const std::set< TypeId > & | GetRules (TypeId type, RuleId rule) |
const std::set< TypeId > & | GetRules (const std::string &type, RuleId rule) |
void | SetCreationLabel (TypeId Id, std::string Label) |
const std::string & | GetCreationLabel (TypeId Id) |
bool | BuildObjectContextualMenu (Object *target, UIManager *uim, Object *object, double x, double y) |
void | AddMenuCallback (TypeId Id, BuildMenuCb cb) |
const std::string & | GetCreationLabel (const std::string &TypeName) |
CmdContext * | GetCmdContext () |
char * | ConvertToCML (std::string const &uri, const char *mime_type, const char *options=NULL) |
char * | ConvertToCML (GsfInput *input, const char *mime_type, const char *options=NULL) |
void | ConvertFromCML (const char *cml, std::string const &uri, const char *mime_type, const char *options=NULL) |
void | ConvertFromCML (const char *cml, GsfOutput *output, const char *mime_type, const char *options=NULL) |
std::list< Database > const & | GetDatabases (char const *classname) |
std::set< Document * > | GetDocs (void) |
unsigned | GetScreenResolution (void) |
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) |
Public Member Functions inherited from gcu::DialogOwner | |
DialogOwner () | |
virtual | ~DialogOwner () |
Dialog * | GetDialog (std::string name) const |
void | ClearDialogs () |
Protected Member Functions | |
void | InitTools () |
void | BuildTools () throw (std::runtime_error) |
void | ShowTools (bool visible) |
Protected Member Functions inherited from gcugtk::Application | |
virtual void | NoMoreDocsEvent () |
void | CreateDefaultCmdContext () |
bool | LoopRunning () |
Protected Member Functions inherited from gcu::Application | |
void | RegisterBabelType (const char *mime_type, const char *type) |
Protected Attributes | |
gcp::Document * | m_pActiveDoc |
Target * | m_pActiveTarget |
unsigned | m_NumWindow |
Additional Inherited Members | |
Static Public Member Functions inherited from gcugtk::Application | |
static WindowState | GetDefaultWindowState () |
static void | OnReceiveTargets (GtkClipboard *clipboard, GtkSelectionData *selection_data, Application *App) |
GChemPaint application base class.
This class is used to represent a GChemPaint application. It is a virtual class since at least one method is pure virtual (gcp::Application::GetWindow)
Definition at line 100 of file gcp/application.h.
gcp::Application::Application | ( | gcugtk::CmdContextGtk * | cc = NULL | ) |
The default constructor.
|
virtual |
The destructor.
Reimplemented from gcugtk::Application.
void gcp::Application::ActivateTool | ( | const std::string & | toolname, |
bool | activate | ||
) |
toolname | the name of the tool. |
activate | whether to activate or deactivate. |
Activates or deactivates a tool in the GChempaint tool box.
To activate the selection tool:
void gcp::Application::ActivateWindowsActionWidget | ( | const char * | path, |
bool | activate | ||
) |
path | the path to activate. |
activate | whether to activate or deactivate. |
Activates or deactivates the menu item corresponding to path according to the value of activate.
To deactivate the "Paste" menu item, use:
void gcp::Application::AddActions | ( | GtkRadioActionEntry const * | entries, |
int | nb, | ||
char const * | ui_description, | ||
IconDesc const * | icons | ||
) |
entries | an array of GtkRadioActionEntry structures. |
nb | the number of entries. |
ui_description | an xml like text describing the user interface. |
icons | an array of IconDesc structures for the icons used by the buttons. |
Adds new buttons in the tools box. The code used in the selection plugin is:
|
inline |
path | the path associated to a tool |
canvas | the canvas used as icon for the tool |
Associates a canvas to a tool for use as an icon for the tool button. Used to have scalable icons using the theme colors whenever possible.
Definition at line 425 of file gcp/application.h.
void gcp::Application::AddMenuCallback | ( | BuildMenuCb | cb | ) |
cb,: | the BuildMenuCb callback to call when building the menu. |
adds a callback for adding entries to the windows menus.
void gcp::Application::AddTarget | ( | Target * | target | ) |
void gcp::Application::BuildMenu | ( | gcu::UIManager * | manager | ) |
manager,: | the gcu::UIManager to populate. |
Populates the user interface by calling all callbacks registered with AddMenuCallback.
|
protected |
Builds the tools box. This method is called only once after startup by the framework.
|
virtual |
Clears the message in the status bar.
void gcp::Application::CloseAll | ( | ) |
Closes all open documents and ends the application.
|
virtual |
Creates a new document using the default theme.
Reimplemented from gcu::Application.
void gcp::Application::DeleteTarget | ( | Target * | target | ) |
bool gcp::Application::FileProcess | ( | const gchar * | filename, |
const gchar * | mime_type, | ||
bool | bSave, | ||
GtkWindow * | window, | ||
gcu::Document * | pDoc = NULL |
||
) |
filename | the URI of the file to save or open. |
mime_type | the mime type. |
bSave | true when saving and false when opening. |
window | a parent GtkWindow which is used for messabe boxes if any. |
pDoc | a document (might be NULL when loading. |
Callback called when the user clicks on the Save or Open button in the file chooser to process the file.
|
inline |
Definition at line 163 of file gcp/application.h.
References m_pActiveDoc.
|
inline |
Definition at line 159 of file gcp/application.h.
|
inline |
id | a CursorId |
Definition at line 412 of file gcp/application.h.
|
inline |
Definition at line 205 of file gcp/application.h.
|
inline |
Definition at line 252 of file gcp/application.h.
References gcu::Application::m_Docs.
std::list<std::string>& gcp::Application::GetExtensions | ( | std::string & | mime_type | ) |
mime_type | a mime type. |
|
inline |
Definition at line 508 of file gcp/application.h.
|
inline |
Definition at line 504 of file gcp/application.h.
|
inline |
Definition at line 500 of file gcp/application.h.
|
inline |
Definition at line 355 of file gcp/application.h.
|
inline |
name | the name of a tool |
Definition at line 174 of file gcp/application.h.
|
inline |
name | the name of a tool |
Definition at line 187 of file gcp/application.h.
|
inline |
Definition at line 512 of file gcp/application.h.
|
pure virtual |
This pure virtual method must be overloaded by derived classes.
Reimplemented from gcu::Application.
|
inline |
Definition at line 240 of file gcp/application.h.
|
inline |
Definition at line 417 of file gcp/application.h.
|
inline |
Definition at line 248 of file gcp/application.h.
|
protected |
Initialize the tools box so that the selection tool is active. This method is called only once aafter startup by the framework.
void gcp::Application::NotifyFocus | ( | bool | has_focus, |
Target * | target = NULL |
||
) |
void gcp::Application::NotifyIconification | ( | bool | iconified | ) |
void gcp::Application::OnConfigChanged | ( | GOConfNode * | node, |
gchar const * | name | ||
) |
node | the GONode which changed. |
name | the name of the key. |
Called by the framework when the configuration entry has changed to update a running application preferences if the system allows such callbacks.
|
pure virtual |
Theme | a gcp::Theme or NULL. |
Creates a new document using the given theme or the default theme if Theme is NULL. This method must be overloaded by derived classes since it is pure virtual.
void gcp::Application::OnSaveAs | ( | ) |
Open the file save as dialog to save the current document with a new name.
void gcp::Application::OnSaveAsImage | ( | ) |
Saves the active view as an image.
void gcp::Application::OnThemeNamesChanged | ( | ) |
Called by the framework after a change of a theme name. Ensure evrything is correctly updated.
void gcp::Application::OnToolChanged | ( | GtkAction * | current | ) |
current | the GtkAction for the activated tool. |
Call by the framework when the active tool changed.
void gcp::Application::OpenGcp | ( | std::string const & | filename, |
gcp::Document * | pDoc | ||
) |
filename | the URI of the file to load. |
pDoc | a document or NULL. |
Loads a GChemPaint document.
void gcp::Application::ReceiveTargets | ( | GtkClipboard * | clipboard, |
GtkSelectionData * | selection_data | ||
) |
clipboard | a clipboard. |
selection_data | the available data |
Used as callback as gtk_clipboard_request_contents().
void gcp::Application::RegisterToolbar | ( | char const * | name, |
int | index | ||
) |
name | the name of the toolbar. |
index | the rank of the toolbar in the toolbox. |
Adds a new toolbar to the tools box. See the documentation of gcp::Application::AddActions() for a case use.
void gcp::Application::SaveGcp | ( | std::string const & | filename, |
gcp::Document * | pDoc | ||
) |
filename | the URI of the file to save. |
pDoc | the document to save. |
Saves the active document in the native GChemPaint format.
|
inline |
pDoc | the document becoming active. |
Sets the new active document.
Definition at line 169 of file gcp/application.h.
References m_pActiveDoc.
|
inline |
Z | the new current atomic number. |
Sets the new current atomic number. This number is used for new atoms.
Definition at line 201 of file gcp/application.h.
|
virtual |
text | a text to display |
Displays text in the status bar.
|
inline |
toolname | the name of a new tool. |
tool | the new Tool. |
Adds a new tool to the tools box. This method is called from the Tool constructor.
Definition at line 182 of file gcp/application.h.
|
inline |
name | the name of a new tool. |
w | a GtkWidget. |
Associates w to the Tool named name. SetTool() will return this widget when its argument is name.
Definition at line 195 of file gcp/application.h.
|
protected |
visible | whether the tools box should be visible or not |
Shows or hides the tools box.
void gcp::Application::Zoom | ( | double | zoom | ) |
zoom | the new zoom level. |
Sets the zoom level for the active document window.
|
protected |
Used to add a number to new files default names.
Definition at line 469 of file gcp/application.h.
|
protected |
The active document.
Definition at line 461 of file gcp/application.h.
Referenced by GetActiveDocument(), and SetActiveDocument().
|
protected |
The active target.
Definition at line 465 of file gcp/application.h.