## wxSashLayoutWindow

wxSashLayoutWindow responds to OnCalculateLayout events generated by wxLayoutAlgorithm. It allows the application to use simple accessors to specify how the window should be laid out, rather than having to respond to events. The fact that the class derives from wxSashWindow allows sashes to be used if required, to allow the windows to be user-resizable.

The documentation for wxLayoutAlgorithm explains the purpose of this class in more detail.

Derived from

wxSashWindow
wxWindow
wxEvtHandler
wxObject

Include files

<wx/laywin.h>

Window styles

See wxSashWindow.

Event handling

This class handles the EVT_QUERY_LAYOUT_INFO and EVT_CALCULATE_LAYOUT events for you. However, if you use sashes, see wxSashWindow for relevant event information.

See also wxLayoutAlgorithm for information about the layout events.

See also

wxLayoutAlgorithm, wxSashWindow, Event handling overview

Members

wxSashLayoutWindow::wxSashLayoutWindow
wxSashLayoutWindow::Create
wxSashLayoutWindow::GetAlignment
wxSashLayoutWindow::GetOrientation
wxSashLayoutWindow::OnCalculateLayout
wxSashLayoutWindow::OnQueryLayoutInfo
wxSashLayoutWindow::SetAlignment
wxSashLayoutWindow::SetDefaultSize
wxSashLayoutWindow::SetOrientation

### wxSashLayoutWindow::wxSashLayoutWindow

wxSashLayoutWindow()

Default constructor.

wxSashLayoutWindow(wxSashLayoutWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCLIP_CHILDREN | wxSW_3D, const wxString& name = "layoutWindow")

Constructs a sash layout window, which can be a child of a frame, dialog or any other non-control window.

Parameters

parent

Pointer to a parent window.

id

Window identifier. If -1, will automatically create an identifier.

pos

Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashLayoutWindows should generate a default position for the window. If using the wxSashLayoutWindow class directly, supply an actual position.

size

Window size. wxDefaultSize is (-1, -1) which indicates that wxSashLayoutWindows should generate a default size for the window.

style

Window style. For window styles, please see wxSashLayoutWindow.

name

Window name.

### wxSashLayoutWindow::Create

bool Create(wxSashLayoutWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCLIP_CHILDREN | wxSW_3D, const wxString& name = "layoutWindow")

Initializes a sash layout window, which can be a child of a frame, dialog or any other non-control window.

Parameters

parent

Pointer to a parent window.

id

Window identifier. If -1, will automatically create an identifier.

pos

Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashLayoutWindows should generate a default position for the window. If using the wxSashLayoutWindow class directly, supply an actual position.

size

Window size. wxDefaultSize is (-1, -1) which indicates that wxSashLayoutWindows should generate a default size for the window.

style

Window style. For window styles, please see wxSashLayoutWindow.

name

Window name.

### wxSashLayoutWindow::GetAlignment

wxLayoutAlignment GetAlignment() const

Returns the alignment of the window: one of wxLAYOUT_TOP, wxLAYOUT_LEFT, wxLAYOUT_RIGHT, wxLAYOUT_BOTTOM.

### wxSashLayoutWindow::GetOrientation

wxLayoutOrientation GetOrientation() const

Returns the orientation of the window: one of wxLAYOUT_HORIZONTAL, wxLAYOUT_VERTICAL.

### wxSashLayoutWindow::OnCalculateLayout

void OnCalculateLayout(wxCalculateLayoutEvent& event)

The default handler for the event that is generated by wxLayoutAlgorithm. The implementation of this function calls wxCalculateLayoutEvent::SetRect to shrink the provided size according to how much space this window takes up. For further details, see wxLayoutAlgorithm and wxCalculateLayoutEvent.

### wxSashLayoutWindow::OnQueryLayoutInfo

void OnQueryLayoutInfo(wxQueryLayoutInfoEvent& event)

The default handler for the event that is generated by OnCalculateLayout to get size, alignment and orientation information for the window. The implementation of this function uses member variables as set by accessors called by the application. For further details, see wxLayoutAlgorithm and wxQueryLayoutInfoEvent.

### wxSashLayoutWindow::SetAlignment

void SetAlignment(wxLayoutAlignment alignment)

Sets the alignment of the window (which edge of the available parent client area the window is attached to). alignment is one of wxLAYOUT_TOP, wxLAYOUT_LEFT, wxLAYOUT_RIGHT, wxLAYOUT_BOTTOM.

### wxSashLayoutWindow::SetDefaultSize

void SetDefaultSize(const wxSize& size)

Sets the default dimensions of the window. The dimension other than the orientation will be fixed to this value, and the orientation dimension will be ignored and the window stretched to fit the available space.

### wxSashLayoutWindow::SetOrientation

void SetOrientation(wxLayoutOrientation orientation)

Sets the orientation of the window (the direction the window will stretch in, to fill the available parent client area). orientation is one of wxLAYOUT_HORIZONTAL, wxLAYOUT_VERTICAL.