|
The Gnome Chemistry Utils
0.13.7
|
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 |
Protected Member Functions | |
| void | InitTools () |
| void | BuildTools () throw (std::runtime_error) |
| void | ShowTools (bool visible) |
Protected Attributes | |
| gcp::Document * | m_pActiveDoc |
| Target * | m_pActiveTarget |
| unsigned | m_NumWindow |
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 gcp::Application::~Application | ( | ) | [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:
ActivateTool ("Select", true);
| 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:
ActivateWindowsActionWidget ("/MainMenu/EditMenu/Paste", false);
| 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:
static gcp::IconDesc icon_descs[] = { {"gcp_Selection", gcp_selection_24}, {"gcp_Eraser", gcp_eraser_24}, {NULL, NULL} }; static GtkRadioActionEntry entries[] = { { "Select", "gcp_Selection", N_("Select"), NULL, N_("Select one or more objects"), 0 }, { "Erase", "gcp_Eraser", N_("Erase"), NULL, N_("Eraser"), 0 } }; static const char *ui_description = "<ui>" " <toolbar name='SelectToolbar'>" " <placeholder name='Select1'>" " <toolitem action='Select'/>" " <toolitem action='Erase'/>" " </placeholder>" " <placeholder name='Select2'/>" " <placeholder name='Select3'/>" " </toolbar>" "</ui>"; void gcpSelectionPlugin::Populate (gcp::Application* App) { App->AddActions (entries, G_N_ELEMENTS (entries), ui_description, icon_descs); App->RegisterToolbar ("SelectToolbar", 0); new gcpSelectionTool (App); new gcpEraserTool (App); App->ActivateTool ("Select", true); }
| void gcp::Application::AddCanvas | ( | char const * | path, |
| gccv::Canvas * | canvas | ||
| ) | [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.
| void gcp::Application::BuildTools | ( | ) | throw (std::runtime_error) [protected] |
Builds the tools box. This method is called only once after startup by the framework.
| virtual void gcp::Application::ClearStatus | ( | ) | [virtual] |
Clears the message in the status bar.
| void gcp::Application::CloseAll | ( | ) |
Closes all open documents and ends the application.
| gcu::Document* gcp::Application::CreateNewDocument | ( | ) | [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.
| gcp::Document* gcp::Application::GetActiveDocument | ( | ) | [inline] |
Definition at line 163 of file gcp/application.h.
References m_pActiveDoc.
| Tool* gcp::Application::GetActiveTool | ( | ) | [inline] |
Definition at line 159 of file gcp/application.h.
| GdkCursor* gcp::Application::GetCursor | ( | CursorId | id | ) | [inline] |
| id | a CursorId |
Definition at line 412 of file gcp/application.h.
| int gcp::Application::GetCurZ | ( | ) | [inline] |
Definition at line 205 of file gcp/application.h.
| int gcp::Application::GetDocsNumber | ( | ) | [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. |
| gcp::Application::GetHaveAvogadro | ( | void | ) | const [inline] |
Definition at line 508 of file gcp/application.h.
| gcp::Application::GetHaveGChem3D | ( | void | ) | const [inline] |
Definition at line 504 of file gcp/application.h.
| gcp::Application::GetHaveGhemical | ( | void | ) | const [inline] |
Definition at line 500 of file gcp/application.h.
| std::list<std::string>& gcp::Application::GetSupportedMimeTypes | ( | ) | [inline] |
Definition at line 355 of file gcp/application.h.
| Tool* gcp::Application::GetTool | ( | const std::string & | name | ) | [inline] |
| name | the name of a tool |
Definition at line 174 of file gcp/application.h.
| GtkWidget* gcp::Application::GetToolItem | ( | const std::string & | name | ) | [inline] |
| name | the name of a tool |
Definition at line 187 of file gcp/application.h.
| gcp::Application::GetUseAtomColors | ( | void | ) | const [inline] |
Definition at line 512 of file gcp/application.h.
| virtual GtkWindow* gcp::Application::GetWindow | ( | ) | [pure virtual] |
This pure virtual method must be overloaded by derived classes.
Reimplemented from gcu::Application.
| xmlDocPtr gcp::Application::GetXmlDoc | ( | ) | [inline] |
Definition at line 240 of file gcp/application.h.
| bool gcp::Application::Have3DSupport | ( | ) | [inline] |
Definition at line 417 of file gcp/application.h.
| bool gcp::Application::HaveInChI | ( | ) | [inline] |
Definition at line 248 of file gcp/application.h.
| void gcp::Application::InitTools | ( | ) | [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.
| virtual void gcp::Application::OnFileNew | ( | char const * | Theme = NULL | ) | [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.
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.
| void gcp::Application::SetActiveDocument | ( | gcp::Document * | pDoc | ) | [inline] |
| pDoc | the document becoming active. |
Sets the new active document.
Definition at line 169 of file gcp/application.h.
References m_pActiveDoc.
| void gcp::Application::SetCurZ | ( | int | Z | ) | [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 void gcp::Application::SetStatusText | ( | const char * | text | ) | [virtual] |
| text | a text to display |
Displays text in the status bar.
| void gcp::Application::SetTool | ( | const std::string & | toolname, |
| Tool * | tool | ||
| ) | [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.
| void gcp::Application::SetToolItem | ( | const std::string & | name, |
| GtkWidget * | w | ||
| ) | [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.
| void gcp::Application::ShowTools | ( | bool | visible | ) | [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.
unsigned gcp::Application::m_NumWindow [protected] |
Used to add a number to new files default names.
Definition at line 469 of file gcp/application.h.
gcp::Document* gcp::Application::m_pActiveDoc [protected] |
The active document.
Definition at line 461 of file gcp/application.h.
Referenced by GetActiveDocument(), and SetActiveDocument().
Target* gcp::Application::m_pActiveTarget [protected] |
The active target.
Definition at line 465 of file gcp/application.h.
1.7.6.1