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.