Imagine::EML Class Reference

#include <EML.h>

List of all members.

Public Member Functions

 EML (Context *context)
Eui_Root * initialize (std::string const &app_description, int argc, char **argv)
Eui_Root * root ()
Eml_ParseResult * parseScript (std::string const &script_file)
Eml_ParseResult * parseScript (std::string const &script_file, Eeml_TranslationTable *translation_table)
Eml_ParseResult * parseResult ()
void display (Eeml_Part part)
void mainEventLoop ()
Contextcontext ()
 EML (std::string const &app_description, int argc, char **argv)
 EML (std::string const &app_description, int argc, char **argv, Context *context)
 EML (std::string const &app_description, int argc, char **argv, std::string const &script_file, Eeml_TranslationTable *translation_table)
 EML (std::string const &app_description, int argc, char **argv, Context *context, std::string const &script_file, Eeml_TranslationTable *translation_table)

Protected Member Functions

virtual void processEvents ()

Classes

class  Context


Detailed Description

wrapper for the EML toolkit


Constructor & Destructor Documentation

Imagine::EML::EML Context context  ) 
 

Create the EML toolkit wrapper

Parameters:
context Set the internal context the given one
Note:
This does not call eeml_InitToolkit(). Either use one of the other ctors instead, or call initialize() before using the EML toolkit.
The other context is useful for sub-classes to extend with their specific context types.

The EML object will take over management of the given Context; i.e., it will properly destroy it when it is destroyed.

Todo:
XXX And yet I'm uncomfortable with this as I feel this exposes too much of the internals.

Imagine::EML::EML std::string const &  app_description,
int  argc,
char **  argv
 

Initialize the EML toolkit

Exceptions:
ErrorReportException Unable to initialize the EML toolkit.


Member Function Documentation

Context* Imagine::EML::context  ) 
 

returns internal context object

void Imagine::EML::display Eeml_Part  part  ) 
 

Ask EML to display the given part

Of course this presumes that the given part is valid.

Exceptions:
ErrorReportException unable to parse EML script result.

Eui_Root* Imagine::EML::initialize std::string const &  app_description,
int  argc,
char **  argv
 

initialize the EML Toolkit

If the toolkit is has already been initialized via one of the ctors, it will just return the pointer to the existing Eui_Root instance.

Exceptions:
ErrorReportException unable to initialize the EML toolkit.

void Imagine::EML::mainEventLoop  ) 
 

process the main EML event handling loop

Exceptions:
ErrorReportException problem with processing events.

Eml_ParseResult* Imagine::EML::parseResult  ) 
 

returns the current parse result

This will be NULL if parseScript() hasn't yet been invoked.

Exceptions:
ErrorReportException unable to parse EML script result.

Eml_ParseResult* Imagine::EML::parseScript std::string const &  script_file,
Eeml_TranslationTable *  translation_table
 

parse the given EML script

This will use the internal Eui_Root.

Exceptions:
ErrorReportException unable to parse the given EML script.

Eml_ParseResult* Imagine::EML::parseScript std::string const &  script_file  ) 
 

parse the given EML script

This will use the internal Eui_Root found in the internal Context object.

Note:
This version that does not take the Context argument means that the internal context object will not be passed into the eml_Parse() function.
Exceptions:
ErrorReportException unable to parse the given EML script.

virtual void Imagine::EML::processEvents  )  [inline, protected, virtual]
 

Called by mainEventLoop(); allows for sub-classes to splice in code to be invoked during each loop iteration.

Eui_Root* Imagine::EML::root  ) 
 

Returns handle to top level EML GUI widget.

This will be NULL if the toolkit hasn't been properly initialized yet.

Todo:
XXX may want to consider just going ahead and initializing toolkit if root is NULL.


The documentation for this class was generated from the following file:
Generated on Wed Mar 7 16:49:36 2007 for ImagineObjects by  doxygen 1.4.6