Merged the wxPy_newswig branch into the HEAD branch (main trunk)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
280
wxPython/src/_sashwin.i
Normal file
280
wxPython/src/_sashwin.i
Normal file
@@ -0,0 +1,280 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: _sashwin.i
|
||||
// Purpose: SWIG interface defs for wxSashWindow and wxSashLayoutWindow
|
||||
//
|
||||
// Author: Robin Dunn
|
||||
//
|
||||
// Created: 22-Dec-1998
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2003 by Total Control Software
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Not a %module
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
%{
|
||||
static const wxChar* wxSashNameStr = wxT("sashWindow");
|
||||
DECLARE_DEF_STRING(SashNameStr);
|
||||
static const wxChar* wxSashLayoutNameStr = wxT("layoutWindow");
|
||||
DECLARE_DEF_STRING(SashLayoutNameStr);
|
||||
%}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup;
|
||||
|
||||
|
||||
enum {
|
||||
wxSASH_DRAG_NONE,
|
||||
wxSASH_DRAG_DRAGGING,
|
||||
wxSASH_DRAG_LEFT_DOWN,
|
||||
|
||||
wxSW_NOBORDER,
|
||||
wxSW_BORDER,
|
||||
wxSW_3DSASH,
|
||||
wxSW_3DBORDER,
|
||||
wxSW_3D,
|
||||
};
|
||||
|
||||
|
||||
enum wxSashEdgePosition {
|
||||
wxSASH_TOP = 0,
|
||||
wxSASH_RIGHT,
|
||||
wxSASH_BOTTOM,
|
||||
wxSASH_LEFT,
|
||||
wxSASH_NONE = 100
|
||||
};
|
||||
|
||||
|
||||
|
||||
// wxSashWindow allows any of its edges to have a sash which can be dragged
|
||||
// to resize the window. The actual content window will be created as a child
|
||||
// of wxSashWindow.
|
||||
class wxSashWindow: public wxWindow
|
||||
{
|
||||
public:
|
||||
%addtofunc wxSashWindow "self._setOORInfo(self)"
|
||||
%addtofunc wxSashWindow() ""
|
||||
|
||||
wxSashWindow(wxWindow* parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxCLIP_CHILDREN | wxSW_3D,
|
||||
const wxString& name = wxPySashNameStr);
|
||||
%name(PreSashWindow)wxSashWindow();
|
||||
|
||||
bool Create(wxWindow* parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxCLIP_CHILDREN | wxSW_3D,
|
||||
const wxString& name = wxPySashNameStr);
|
||||
|
||||
|
||||
// Set whether there's a sash in this position
|
||||
void SetSashVisible(wxSashEdgePosition edge, bool sash);
|
||||
|
||||
// Get whether there's a sash in this position
|
||||
bool GetSashVisible(wxSashEdgePosition edge) const;
|
||||
|
||||
// Set whether there's a border in this position
|
||||
void SetSashBorder(wxSashEdgePosition edge, bool border);
|
||||
|
||||
// Get whether there's a border in this position
|
||||
bool HasBorder(wxSashEdgePosition edge) const;
|
||||
|
||||
// Get border size
|
||||
int GetEdgeMargin(wxSashEdgePosition edge) const;
|
||||
|
||||
// Sets the default sash border size
|
||||
void SetDefaultBorderSize(int width);
|
||||
|
||||
// Gets the default sash border size
|
||||
int GetDefaultBorderSize() const;
|
||||
|
||||
// Sets the addition border size between child and sash window
|
||||
void SetExtraBorderSize(int width);
|
||||
|
||||
// Gets the addition border size between child and sash window
|
||||
int GetExtraBorderSize() const;
|
||||
|
||||
virtual void SetMinimumSizeX(int min);
|
||||
virtual void SetMinimumSizeY(int min);
|
||||
virtual int GetMinimumSizeX() const;
|
||||
virtual int GetMinimumSizeY() const;
|
||||
|
||||
virtual void SetMaximumSizeX(int max);
|
||||
virtual void SetMaximumSizeY(int max);
|
||||
virtual int GetMaximumSizeX() const;
|
||||
virtual int GetMaximumSizeY() const;
|
||||
|
||||
// Tests for x, y over sash
|
||||
wxSashEdgePosition SashHitTest(int x, int y, int tolerance = 2);
|
||||
|
||||
// Resizes subwindows
|
||||
void SizeWindows();
|
||||
};
|
||||
|
||||
|
||||
|
||||
enum wxSashDragStatus
|
||||
{
|
||||
wxSASH_STATUS_OK,
|
||||
wxSASH_STATUS_OUT_OF_RANGE
|
||||
};
|
||||
|
||||
class wxSashEvent: public wxCommandEvent
|
||||
{
|
||||
public:
|
||||
wxSashEvent(int id = 0, wxSashEdgePosition edge = wxSASH_NONE);
|
||||
|
||||
void SetEdge(wxSashEdgePosition edge);
|
||||
wxSashEdgePosition GetEdge() const;
|
||||
|
||||
//// The rectangle formed by the drag operation
|
||||
void SetDragRect(const wxRect& rect);
|
||||
wxRect GetDragRect() const;
|
||||
|
||||
//// Whether the drag caused the rectangle to be reversed (e.g.
|
||||
//// dragging the top below the bottom)
|
||||
void SetDragStatus(wxSashDragStatus status);
|
||||
wxSashDragStatus GetDragStatus() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
%constant wxEventType wxEVT_SASH_DRAGGED;
|
||||
|
||||
%pythoncode {
|
||||
EVT_SASH_DRAGGED = wx.PyEventBinder( wxEVT_SASH_DRAGGED, 1 )
|
||||
EVT_SASH_DRAGGED_RANGE = wx.PyEventBinder( wxEVT_SASH_DRAGGED, 2 )
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
%newgroup;
|
||||
|
||||
|
||||
|
||||
enum wxLayoutOrientation
|
||||
{
|
||||
wxLAYOUT_HORIZONTAL,
|
||||
wxLAYOUT_VERTICAL
|
||||
};
|
||||
|
||||
enum wxLayoutAlignment
|
||||
{
|
||||
wxLAYOUT_NONE,
|
||||
wxLAYOUT_TOP,
|
||||
wxLAYOUT_LEFT,
|
||||
wxLAYOUT_RIGHT,
|
||||
wxLAYOUT_BOTTOM
|
||||
};
|
||||
|
||||
enum {
|
||||
wxLAYOUT_LENGTH_Y,
|
||||
wxLAYOUT_LENGTH_X,
|
||||
wxLAYOUT_MRU_LENGTH,
|
||||
wxLAYOUT_QUERY,
|
||||
};
|
||||
|
||||
|
||||
%constant wxEventType wxEVT_QUERY_LAYOUT_INFO;
|
||||
%constant wxEventType wxEVT_CALCULATE_LAYOUT;
|
||||
|
||||
|
||||
// This event is used to get information about window alignment,
|
||||
// orientation and size.
|
||||
class wxQueryLayoutInfoEvent: public wxEvent
|
||||
{
|
||||
public:
|
||||
wxQueryLayoutInfoEvent(wxWindowID id = 0);
|
||||
|
||||
// Read by the app
|
||||
void SetRequestedLength(int length);
|
||||
int GetRequestedLength() const;
|
||||
|
||||
void SetFlags(int flags);
|
||||
int GetFlags() const;
|
||||
|
||||
// Set by the app
|
||||
void SetSize(const wxSize& size);
|
||||
wxSize GetSize() const;
|
||||
|
||||
void SetOrientation(wxLayoutOrientation orient);
|
||||
wxLayoutOrientation GetOrientation() const;
|
||||
|
||||
void SetAlignment(wxLayoutAlignment align);
|
||||
wxLayoutAlignment GetAlignment() const;
|
||||
};
|
||||
|
||||
|
||||
// This event is used to take a bite out of the available client area.
|
||||
class wxCalculateLayoutEvent: public wxEvent
|
||||
{
|
||||
public:
|
||||
wxCalculateLayoutEvent(wxWindowID id = 0);
|
||||
|
||||
// Read by the app
|
||||
void SetFlags(int flags);
|
||||
int GetFlags() const;
|
||||
|
||||
// Set by the app
|
||||
void SetRect(const wxRect& rect);
|
||||
wxRect GetRect() const;
|
||||
};
|
||||
|
||||
|
||||
%pythoncode {
|
||||
EVT_QUERY_LAYOUT_INFO = wx.PyEventBinder( wxEVT_QUERY_LAYOUT_INFO )
|
||||
EVT_CALCULATE_LAYOUT = wx.PyEventBinder( wxEVT_CALCULATE_LAYOUT )
|
||||
};
|
||||
|
||||
|
||||
|
||||
// This is window that can remember alignment/orientation, does its own layout,
|
||||
// and can provide sashes too. Useful for implementing docked windows with sashes in
|
||||
// an IDE-style interface.
|
||||
class wxSashLayoutWindow: public wxSashWindow
|
||||
{
|
||||
public:
|
||||
%addtofunc wxSashLayoutWindow "self._setOORInfo(self)"
|
||||
%addtofunc wxSashLayoutWindow() ""
|
||||
|
||||
wxSashLayoutWindow(wxWindow* parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxCLIP_CHILDREN | wxSW_3D,
|
||||
const wxString& name = wxPySashLayoutNameStr);
|
||||
%name(PreSashLayoutWindow)wxSashLayoutWindow();
|
||||
|
||||
bool Create(wxWindow* parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxCLIP_CHILDREN | wxSW_3D,
|
||||
const wxString& name = wxPySashLayoutNameStr);
|
||||
|
||||
wxLayoutAlignment GetAlignment();
|
||||
wxLayoutOrientation GetOrientation();
|
||||
void SetAlignment(wxLayoutAlignment alignment);
|
||||
void SetDefaultSize(const wxSize& size);
|
||||
void SetOrientation(wxLayoutOrientation orientation);
|
||||
};
|
||||
|
||||
|
||||
|
||||
class wxLayoutAlgorithm : public wxObject {
|
||||
public:
|
||||
wxLayoutAlgorithm();
|
||||
~wxLayoutAlgorithm();
|
||||
|
||||
bool LayoutMDIFrame(wxMDIParentFrame* frame, wxRect* rect = NULL);
|
||||
bool LayoutFrame(wxFrame* frame, wxWindow* mainWindow = NULL);
|
||||
bool LayoutWindow(wxWindow* parent, wxWindow* mainWindow = NULL);
|
||||
};
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
Reference in New Issue
Block a user