Linderdaum Engine: clGUIEditorSceneView Class Reference
Updated: Sat Dec 15 2012 03:54:38
clGUIEditorSceneView Class Reference

Multi-view on-screen gui control. More...

#include <I_SceneView.h>

List of all members.

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

clGUIVisualSceneViewFViews [MAX_VIEW_RT]
 Subviews.
clVisualSceneFScene
 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.
clEditorFEditor
 Direct link to current active editor instance. NULL can be set if no editor needed.

Detailed Description

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.


Constructor & Destructor Documentation

clGUIEditorSceneView::clGUIEditorSceneView ( ) [inline]
clGUIEditorSceneView::~clGUIEditorSceneView ( ) [virtual]

Member Function Documentation

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.

void clGUIEditorSceneView::SplitScreen ( bool  Horiz,
int  View1,
int  View2 
)

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.


Member Data Documentation

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)


The documentation for this class was generated from the following files: