| Linderdaum Engine: clGUIEditorSceneView Class Reference | ![]() |
Multi-view on-screen gui control. More...
#include <I_SceneView.h>
Public Member Functions | |
| clGUIEditorSceneView () | |
| virtual | ~clGUIEditorSceneView () |
| virtual void | AfterConstruction () |
| scriptmethod void | SetProjectorForPart (int ViewID, clVisualProjector *Proj) |
| scriptmethod void | SetTechniqueForPart (int ViewID, clRenderingTechnique *RT) |
| scriptmethod void | SetEditor (clEditor *EE) |
| scriptmethod void | SetVisualScene (clVisualScene *Sc) |
| scriptmethod eViewLayout | GetLayout () const |
| Get current view layout. | |
| scriptmethod void | SetLayout (eViewLayout LL) |
| Set current layout. | |
| scriptmethod void | UpdateView () |
| Force repaint for each views. | |
| scriptmethod void | SetUpdateFlagForAll (bool Upd) |
| Toggle update for each view. | |
| scriptmethod void | MaximizePart (int ViewID, bool MaximizedFlag) |
| Maximize/normalize one of the viewports. | |
| virtual bool | Event_Key (iGUIResponder *Source, const int Key, const bool KeyState) |
| virtual void | Event_MouseLeft (iGUIResponder *Source, const LVector2 &Pnt, const bool KeyState) |
| virtual void | Event_MouseRight (iGUIResponder *Source, const LVector2 &Pnt, const bool KeyState) |
| scriptmethod void | ShowAll (bool Visible) |
| Show or hide each view. | |
| scriptmethod void | SplitScreen (bool Horiz, int View1, int View2) |
| Two views (split horizontaly or verticaly) | |
| scriptmethod void | Tile () |
| Equal rectangles for each of the views. | |
Public Attributes | |
| clGUIVisualSceneView * | FViews [MAX_VIEW_RT] |
| Subviews. | |
| clVisualScene * | FScene |
| Cached link to visual scene. | |
| int | FActiveView |
| Index of the active view. | |
| bool | FViewMaximized |
| Alt+W toggle (maximized one of the views) | |
| eViewLayout | FLayout |
| Current control layout. | |
| clEditor * | FEditor |
| Direct link to current active editor instance. NULL can be set if no editor needed. | |
Multi-view on-screen gui control.
Redirects events to the VisualScene or attached editor.
Maybe we should implement as a container of multiple SceneView controls, but right now we just make the straight-forward implementation with a fixed number of views.
| clGUIEditorSceneView::clGUIEditorSceneView | ( | ) | [inline] |
| clGUIEditorSceneView::~clGUIEditorSceneView | ( | ) | [virtual] |
| void clGUIEditorSceneView::AfterConstruction | ( | ) | [virtual] |
Reimplemented from clGUIPanel.
| bool clGUIEditorSceneView::Event_Key | ( | iGUIResponder * | Source, |
| const int | Key, | ||
| const bool | KeyState | ||
| ) | [virtual] |
Handle internal events or redirect events to one of the viewports (scene)
One important remark is that the cooridnates of the mouse clicks are renormalized to fit size of each of the views.
Only active view receives events.
handle maximization keystroke (Alt+W)
Reimplemented from clGUIPanel.
| void clGUIEditorSceneView::Event_MouseLeft | ( | iGUIResponder * | Source, |
| const LVector2 & | Pnt, | ||
| const bool | KeyState | ||
| ) | [virtual] |
Reimplemented from clGUIPanel.
| void clGUIEditorSceneView::Event_MouseRight | ( | iGUIResponder * | Source, |
| const LVector2 & | Pnt, | ||
| const bool | KeyState | ||
| ) | [virtual] |
Reimplemented from iGUIRegion.
| scriptmethod eViewLayout clGUIEditorSceneView::GetLayout | ( | ) | const [inline] |
Get current view layout.
| void clGUIEditorSceneView::MaximizePart | ( | int | ViewID, |
| bool | MaximizedFlag | ||
| ) |
Maximize/normalize one of the viewports.
| scriptmethod void clGUIEditorSceneView::SetEditor | ( | clEditor * | EE | ) | [inline] |
| void clGUIEditorSceneView::SetLayout | ( | eViewLayout | LL | ) |
Set current layout.
Handle default modes
| void clGUIEditorSceneView::SetProjectorForPart | ( | int | ViewID, |
| clVisualProjector * | Proj | ||
| ) |
| void clGUIEditorSceneView::SetTechniqueForPart | ( | int | ViewID, |
| clRenderingTechnique * | RT | ||
| ) |
| void clGUIEditorSceneView::SetUpdateFlagForAll | ( | bool | Upd | ) |
Toggle update for each view.
| void clGUIEditorSceneView::SetVisualScene | ( | clVisualScene * | Sc | ) |
| void clGUIEditorSceneView::ShowAll | ( | bool | Visible | ) |
Show or hide each view.
Two views (split horizontaly or verticaly)
| void clGUIEditorSceneView::Tile | ( | ) |
Equal rectangles for each of the views.
Equal rectangles for each of the views:
| void clGUIEditorSceneView::UpdateView | ( | ) |
Force repaint for each views.
Index of the active view.
Direct link to current active editor instance. NULL can be set if no editor needed.
Current control layout.
Cached link to visual scene.
Alt+W toggle (maximized one of the views)