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


SourceForge Logo