25 #ifndef GCHEMPAINT_APPLICATION_H
26 #define GCHEMPAINT_APPLICATION_H
30 #include <libxml/parser.h>
102 friend class ApplicationPrivate;
124 void ActivateTool (
const std::string& toolname,
bool activate);
182 void SetTool (
const std::string& toolname,
Tool* tool) {m_Tools[toolname] = tool;}
187 GtkWidget*
GetToolItem(
const std::string& name) {
return ToolItems[name];}
195 void SetToolItem (
const std::string& name, GtkWidget* w) {ToolItems[name] = w;}
221 bool FileProcess (
const gchar* filename,
const gchar* mime_type,
bool bSave, GtkWindow *window,
gcu::Document *pDoc = NULL);
258 void Zoom (
double zoom);
304 void AddActions (GtkRadioActionEntry
const *entries,
int nb,
char const *ui_description,
IconDesc const *icons);
368 std::list<std::string> &
GetExtensions(std::string &mime_type);
417 bool Have3DSupport () {
return m_HaveGhemical | m_HaveGChem3D | m_HaveAvogadro;}
432 void ReceiveTargets (GtkClipboard *clipboard, GtkSelectionData *selection_data);
444 void BuildTools () throw (std::runtime_error);
453 void TestSupportedType (
char const *mime_type,
char const* babel_type = NULL,
bool writeable = false);
454 void AddMimeType (std::list<std::
string> &l, std::
string const& mime_type);
455 void UpdateAllTargets ();
473 std::map <std::
string, GtkWidget*> ToolItems;
474 std::map <std::
string, GtkWidget*> Toolbars;
475 std::map <std::
string,
Tool*> m_Tools;
478 static
bool m_Have_InChI;
480 GtkIconFactory *IconFactory;
481 std::list<
char const*> UiDescs;
482 GtkRadioActionEntry* RadioActions;
484 std::map<
int, std::
string> ToolbarNames;
486 std::set<
Target*> m_Targets;
488 std::list<std::
string> m_SupportedMimeTypes;
489 std::list<std::
string> m_WriteableMimeTypes;
490 GOConfNode *m_ConfNode;
491 guint m_NotificationId;
492 gcu::Object *m_Dummy;
495 std::map < std::
string, gccv::Canvas * >m_ToolCanvases;
517 #endif //GCHEMPAINT_APPLICATION_H