14#ifndef __albaGUIDynamicVP_H__
15#define __albaGUIDynamicVP_H__
79#pragma region Register of Pipes
107#pragma endregion Register of Pipes
137 long GUIstyle = GS_DEFAULT,
138 const wxPoint& pos = wxDefaultPosition,
139 const wxSize& size = wxDefaultSize,
long style = wxTAB_TRAVERSAL);
150 m_Listener = Listener;
Implementation of the message object for the Subject/Observer design pattern.
class name: albaPipeRegister This class registe the pipes.
static std::vector< VIEW_ITEM > m_RegViews
array of registered views-pipes
static int UnregisterPipe(albaPipe *pipe, albaView *view=NULL)
Unregisters the specified pipe with the view (if specified).
static int FindView(albaView *view)
returns index of given view in m_RegViews, or -1, if not found
static int RegisterPipe(albaPipe *pipe, albaView *view)
Registers the specified pipe with the view.
albaGUIDynamicVP is a wxPanel with a set of widget to handle dynamic construction/destruction of visu...
albaObserver * GetListener()
Gets the listener that will be notified when any control changes.
DECLARE_EVENT_TABLE()
declare event table macro
long GetGUIStyle()
Gets the current style.
albaPipe * GetCurrentVisualPipe()
Gets the currently constructed visual pipe.
bool m_BGUIThisShown
true, if the GUIThis is shown
albaSceneNode * GetSceneNode()
Gets the current scene node.
virtual void NotifyListener(long nData)
Notifies the listener, sending the specified notify id and nData as and argument.
albaGUIDynamicVP(wxWindow *parent, wxWindowID id, long GUIstyle=GS_DEFAULT, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
constructor
void SetSceneNode(albaSceneNode *node)
Sets a new scene node for visual pipes.
virtual void DestroyVisualPipe()
Destroys geometry visual pipe.
void SetVPipeIndex(int nNewIndex)
Sets a new visual pipe.
void OnDeferedDelete(wxEvent &event)
Handles destroying of controls.
virtual void OnCloseVP()
Handles the closing of VP.
const SUPPORTED_VP_ENTRY * GetVPipesList()
Gets the current list of visual pipes.
void SetGUIStyle(long newtyle)
Sets a new style = combination from GUI_STYLE.
const SUPPORTED_VP_ENTRY * m_VPipes
list of currently supported visual pipes, terminated by (NULL, NULL)
int m_VPipeIndex
index of the selected visual pipe
wxWindowID m_NotifyId
Id used for when listener is notified.
void SetVPipesList(const SUPPORTED_VP_ENTRY *pList)
Sets a new list of visual pipes.
albaSceneNode * m_SceneNode
reference to the scene node associated with this pipe
virtual ~albaGUIDynamicVP()
destructor
albaObserver * m_Listener
object that is notified when something changes (notified by ID)
albaGUIScrolledPanel * m_GUI_VP
const char * GetName()
Gets the currently associated name with the GUI.
void SetName(const char *szNewName)
Sets a new name associated with the GUI.
void SetListener(albaObserver *Listener)
Specifies the listener that will be notified when any control changes.
int GetVPipeIndex()
Gets the currently selected visual pipe.
virtual void OnCreateVP()
Handles the construction of VP.
albaString m_Name
user name associated with this panel
albaPipe * m_VPipe
this is the current visual pipe
long m_GuiStyle
style/mode of the GUI
virtual void CreateVisualPipe(const char *classname)
Constructs geometry visual pipe.
virtual wxSizer * CreateGUI(long style)
Creates GUI (to be added into m_GUI_This) according to the given style.
void OnEvent(albaEventBase *e)
process the events sent by subjects
class name: albaGUIPanel Inherits directly from wxPanel and adds the pointer to the next panel
albaGUI is a panel with function to easily create GUI.
Interface implementing the Observer of the Subject/Observer design pattern.
albaSceneNode is a node of albaScenegraph.
albaString - performs common string operations on c-strings.
albaView is the base class for Views in alba.
const char * szClassName
visual pipe class name
const char * szUserFriendlyName
user friendly name to be displayed in GUI
std::vector< albaPipe * > m_Pipes