Kigs Framework
Doc version 0.8
Open source multi purpose Rapid Application Development framework
|
#include <Window.h>
Public Types | |
typedef void(* | ClickMessageCallbackFn) (CoreModifiable *pWindow, int buttonId, kfloat X, kfloat Y, bool isDown) |
Typedefs for callbacks for the window events. They are not used by other projects at the moment. | |
typedef void(* | KeyDownCallbackFn) (Window *pWindow, char C, int VirtualKeyCode) |
Typedefs for callbacks for the window events. They are not used by other projects at the moment. | |
typedef void(* | DestroyCallbackFn) (CoreModifiable *pWindow) |
Typedefs for callbacks for the window events. They are not used by other projects at the moment. | |
Public Member Functions | |
Window (const kstl::string &name, DECLARE_CLASS_NAME_TREE_ARG) | |
constructor More... | |
virtual void | Show ()=0 |
virtual void | ShowMouse (bool bOn)=0 |
RenderingScreen * | GetRenderingScreen () |
return the rendering screen associated with this window | |
void | SetKeyDownCallback (KeyDownCallbackFn Callback) |
Set the callback which is called when the user types the given character. | |
void | SetKeyUpCallback (KeyDownCallbackFn Callback) |
Set the callback which is called when the user types the given character (key up) | |
void | SetDestroyCallback (DestroyCallbackFn Callback) |
Set the callback which is called when the window is destroyed. | |
void | SetClickCallback (ClickMessageCallbackFn Callback) |
Set the callback when clicking in the window (X,Y) range in pixels (from left to right, bottom to up) | |
void | SetDoubleClickCallback (ClickMessageCallbackFn Callback) |
Set the callback when double clicking in the window (X,Y) range in pixels (from left to right, bottom to up) | |
bool | addItem (const CMSP &item, ItemPosition pos=Last DECLARE_DEFAULT_LINK_NAME) override |
add item. Manage rendering screen More... | |
bool | removeItem (const CMSP &item DECLARE_DEFAULT_LINK_NAME) override |
remove item. Manage rendering screen More... | |
void * | GetHandle () |
return the window handle | |
Public Member Functions inherited from CoreModifiable | |
void | Init () |
Modifiable managmenent. | |
void | EmptyItemList () |
remove all items (sons) | |
CMSP | GetInstanceByPath (const std::string &path) |
return the instance corresponding to the given path in sons tree | |
std::string | GetRuntimeID () const |
ID. | |
CoreModifiableAttribute * | getAttribute (KigsID labelid) const |
Attribute management. | |
u32 | getNbArrayElements (KigsID attributeLabel) const |
return element count for an array type attribute | |
template<typename attribute_type , typename value_type > | |
attribute_type * | AddDynamicAttribute (KigsID ID, const value_type &value) |
Dynamic attribute management. | |
const kigs::unordered_map< KigsID, ModifiableMethodStruct > * | GetMethods () |
Method management. | |
bool | aggregateWith (CMSP &item, ItemPosition pos=Last) |
Aggregate management. | |
void | flagAsNotificationCenterRegistered () |
Flags. | |
void | InitParametersFromList (const std::vector< CoreModifiableAttribute * > *params) |
Utility. More... | |
virtual void | UninitModifiable () |
called when InitModifiable has failled : reset read/write flag on all init params More... | |
virtual void | ProtectedDestroy () |
Destroy method decrement refcounter and delete instance if no more used. More... | |
virtual void | addUser (CoreModifiable *user) |
add the given parent to list | |
virtual void | removeUser (CoreModifiable *user) |
remove user (parent) | |
virtual bool | removeItem (const CMSP &item) |
remove item (son) | |
Protected Member Functions | |
virtual | ~Window () |
destructor | |
virtual void | ProtectedInit ()=0 |
pure virtual protected init called by the InitModifiable method, must be implemented in platform/os dependant classes | |
void | InitModifiable () override |
init method More... | |
Protected Member Functions inherited from CoreModifiable | |
void | UpdateAggregates (const Timer &timer, void *addParam) |
Internals. | |
void | Export (std::vector< CoreModifiable * > &savedList, XMLNode *currentNode, bool recursive, ExportSettings *settings) |
Export. More... | |
CoreModifiableAttribute * | GenericCreateDynamicAttribute (CoreModifiable::ATTRIBUTE_TYPE type, KigsID ID) |
create and add dynamic attribute except arrays | |
Protected Attributes | |
maBool | mFullScreen |
parameter for fullscreen window | |
maBool | mShowMouseCursor |
flag to show/hide the mouse | |
maBool | mIsMainWindow |
flag to decide if the window is the main window. If you close the main window, the application should be terminated | |
maInt | mPositionX |
window size and position on screen (size is also used if fullscreen) | |
void * | mHandle |
platform independant handle | |
RenderingScreen * | mScreen |
windows rendering screen | |
ClickMessageCallbackFn | mClickCallback |
mouse callbacks | |
KeyDownCallbackFn | mKeyDownCallback |
key callback | |
DestroyCallbackFn | mDestroyCallback |
destroy callback | |
Additional Inherited Members | |
Static Public Member Functions inherited from CoreModifiable | |
static std::vector< CMSP > | GetRootInstances (const KigsID &cid, bool exactTypeOnly=false) |
static method : return the set of all root instances of the given type | |
static void | Append (std::string &XMLString, const std::list< CoreModifiable * > &toexport, bool recursive, ExportSettings *settings=nullptr) |
static method to export the several CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More... | |
static void | Export (const std::string &filename, CoreModifiable *toexport, bool recursive=false, ExportSettings *settings=nullptr) |
static method to export the given CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More... | |
static XMLNode * | ExportToXMLNode (CoreModifiable *toexport, XML *owner_xml_file, bool recursive, ExportSettings *settings=nullptr) |
static method to export the given CoreModifiable to an XML Node. if recursive flag is set to true, export also all sons tree More... | |
static std::string | ExportToXMLString (CoreModifiable *toexport, bool recursive, ExportSettings *settings=nullptr) |
static method to export the given CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More... | |
static void | Export (std::string &XMLString, const std::list< CoreModifiable * > &toexport, bool recursive, ExportSettings *settings=nullptr) |
static method to export the several CoreModifiable to an XML file. if recursive flag is set to true, export also all sons tree More... | |
static CMSP | Import (const std::string &filename, bool noInit=false, bool keepImportFileName=false, ImportState *state=nullptr, const std::string &override_name="") |
return an new CoreModifiable instance using the description found in XML file given by name | |
static CMSP | GetInstanceByGlobalPath (const std::string &path) |
static method : return the instance corresponding to the given path, and given search start | |
static void | debugPrintfFullTree (int maxindent=3) |
Editor. More... | |
Static Protected Member Functions inherited from CoreModifiable | |
template<typename StringType > | |
static CMSP | Import (XMLNodeTemplate< StringType > *currentNode, CoreModifiable *currentModifiable, ImportState &importState) |
recusrive method to add sons and attributes found in the XML file | |
Base class for Window (rendering window).
parameter for fullscreen window
flag to decide if the window is the main window. If you close the main window, the application should be terminated
window size and position on screen (size is also used if fullscreen)
flag to show/hide the mouse
Window::Window | ( | const kstl::string & | name, |
DECLARE_CLASS_NAME_TREE_ARG | |||
) |
constructor
constructor, init all parameters
|
overridevirtual |
add item. Manage rendering screen
add item, if item is a rendering screen, set the given item as the used rendering screen (to be done before init)
Reimplemented from CoreModifiable.
|
overrideprotectedvirtual |
init method
try to init window, size and rendering screen must have been set
Reimplemented from CoreModifiable.
|
override |
remove item. Manage rendering screen
remove item, if item is a rendering screen, set rendering screen pointer to 0
|
pure virtual |
pure virtual show. Must be implemented in platform/os dependant class
Implemented in WindowAndroid, WindowJavascript, WindowWin32, WindowIPhone, and WindowWin32.
|
pure virtual |
pure virtual showmouse. Must be implemented in platform/os dependant class
Implemented in WindowAndroid, WindowJavascript, WindowWin32, WindowWin32, and WindowIPhone.