wxsAppInterface
- defines interface for accessing application-related objects and
events, such as main frame window, workplace window, etc. For
receiving related notifications, it defines wxsAppListener
interface, which have entries for window switching and
closure. Subscriber of these notifications is currently
wxsWorkplace module. wxsAppInterface is implemented by
wxsMainframe class, it's instance can be obtained by calling
"wxsAppInterface& wxsGetApp();"
global function, or
"GetInstance()" method of wxsAppInterface class.
wxsWorkplace -
the object itself encapsulates state of work on a particular
project, which includes information about project, it's
subprojects, layout of main window, set of opened files
(both which present in the project and those occasionally
opened). Workplace interface defines methods for accessing and
manipulating project-information, opened files and their
editors.otifications for project-related changes are presented by
"wxsWorkplaceListener" interface :
OnSubprojectAdded(..)
OnSubprojectRemoved(..)
OnProjectCreated(..)
OnRootProjectLoaded(..)
OnRootProjectClosed(..)
OnFilesAddedToProject(..)
OnFilesRemovedFromProject(..)
OnFileContentChanged(..)
Interface is
implemented by wxsWorkplaceImpl class, it's instance can be
obtained by calling global "wxsWorkplace&
wxsGetWorkplace()" function.
wxsOpenedFile
interface defines only accessors for retrieving file name,
project, category, and associated editor plugin. Currently there
are five most general file categories:
enum WXS_FILE_CATEGORY
{
WXS_UNKNOWN_FILE,
WXS_SOURCE_FILE,
WXS_RESOURCE_FILE,
WXS_DOCUMENTATION_FILE,
WXS_CONFIGURAITON_FILE
};
In future,
wxsOpenedFile will also provide MIME type of the file. List of all
opened files is obtained by calling "GetOpenedFiles()"
of wxsWorkplace class.
wxsOpenedFile is
not a module, rather it acts as information object referred by
modules and plugins while performing operations and exchanging
data. (TODO: It's interface should be implemented by
wxsOpenedFileImpl)
wxsProject -
provides accessors for information about project and it's direct
subprojects. Currently project information includes project name,
project file, files included, description and language (of the
source code). All subprojects can be accessed recursively by
calling "GetSubprojects()" method.
Similarly to wxsOpenedFile,
wxsProject represents an information object. It's interface is
implemented by wxsProjectImpl class.
Note: currently wxsWorkplace
and wxsProject interfaces are prototipical, and are subject to
major changes.
Document prepared by
Aleksandras Gluchovas
|