~ubuntu-dev/wxwidgets2.6/upstream-debian

« back to all changes in this revision

Viewing changes to wxPython/src/_pycontrol.i

  • Committer: Daniel T Chen
  • Date: 2006-06-26 10:15:11 UTC
  • Revision ID: crimsun@ubuntu.com-20060626101511-a4436cec4c6d9b35
ImportĀ DebianĀ 2.6.3.2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/////////////////////////////////////////////////////////////////////////////
 
2
// Name:        _pywindows.i
 
3
// Purpose:     SWIG interface for wxPyControl, See also _pywindows.i
 
4
//
 
5
// Author:      Robin Dunn
 
6
//
 
7
// Created:     2-June-1998
 
8
// RCS-ID:      $Id: _pycontrol.i,v 1.14 2005/06/09 21:51:21 RD Exp $
 
9
// Copyright:   (c) 2003 by Total Control Software
 
10
// Licence:     wxWindows license
 
11
/////////////////////////////////////////////////////////////////////////////
 
12
 
 
13
// Not a %module
 
14
 
 
15
 
 
16
//---------------------------------------------------------------------------
 
17
%newgroup
 
18
 
 
19
 
 
20
 
 
21
//---------------------------------------------------------------------------
 
22
 
 
23
%{ // C++ version of Python aware wxControl
 
24
class wxPyControl : public wxControl
 
25
{
 
26
    DECLARE_DYNAMIC_CLASS(wxPyControl)
 
27
public:
 
28
    wxPyControl() : wxControl() {}
 
29
    wxPyControl(wxWindow* parent, const wxWindowID id,
 
30
                const wxPoint& pos = wxDefaultPosition,
 
31
                const wxSize& size = wxDefaultSize,
 
32
                long style = 0,
 
33
                const wxValidator& validator=wxDefaultValidator,
 
34
                const wxString& name = wxPyControlNameStr)
 
35
        : wxControl(parent, id, pos, size, style, validator, name) {}
 
36
 
 
37
    void SetBestSize(const wxSize& size) { wxControl::SetBestSize(size); }
 
38
 
 
39
    bool DoEraseBackground(wxDC* dc) {
 
40
#ifdef __WXMSW__
 
41
        return wxWindow::DoEraseBackground(dc->GetHDC());
 
42
#else
 
43
        dc->SetBackground(wxBrush(GetBackgroundColour()));
 
44
        dc->Clear();
 
45
        return true;
 
46
#endif
 
47
    }
 
48
 
 
49
    DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
 
50
    DEC_PYCALLBACK_VOID_INT5(DoSetSize);
 
51
    DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize);
 
52
    DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize);
 
53
 
 
54
    DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize);
 
55
    DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize);
 
56
    DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition);
 
57
 
 
58
    DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize);
 
59
    DEC_PYCALLBACK_SIZE_const(DoGetBestSize);
 
60
 
 
61
    DEC_PYCALLBACK__(InitDialog);
 
62
    DEC_PYCALLBACK_BOOL_(TransferDataFromWindow);
 
63
    DEC_PYCALLBACK_BOOL_(TransferDataToWindow);
 
64
    DEC_PYCALLBACK_BOOL_(Validate);
 
65
 
 
66
    DEC_PYCALLBACK_BOOL_const(AcceptsFocus);
 
67
    DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard);
 
68
    DEC_PYCALLBACK_SIZE_const(GetMaxSize);
 
69
 
 
70
    DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
 
71
    DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
 
72
 
 
73
    DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
 
74
    DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
 
75
    
 
76
    DEC_PYCALLBACK_BOOL_(HasTransparentBackground);
 
77
 
 
78
    DEC_PYCALLBACK_VOID_(OnInternalIdle);
 
79
 
 
80
    PYPRIVATE;
 
81
};
 
82
 
 
83
IMPLEMENT_DYNAMIC_CLASS(wxPyControl, wxControl);
 
84
 
 
85
IMP_PYCALLBACK_VOID_INT4(wxPyControl, wxControl, DoMoveWindow);
 
86
IMP_PYCALLBACK_VOID_INT5(wxPyControl, wxControl, DoSetSize);
 
87
IMP_PYCALLBACK_VOID_INTINT(wxPyControl, wxControl, DoSetClientSize);
 
88
IMP_PYCALLBACK_VOID_INTINT(wxPyControl, wxControl, DoSetVirtualSize);
 
89
 
 
90
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetSize);
 
91
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetClientSize);
 
92
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyControl, wxControl, DoGetPosition);
 
93
 
 
94
IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, DoGetVirtualSize);
 
95
IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, DoGetBestSize);
 
96
 
 
97
IMP_PYCALLBACK__(wxPyControl, wxControl, InitDialog);
 
98
IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, TransferDataFromWindow);
 
99
IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, TransferDataToWindow);
 
100
IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, Validate);
 
101
 
 
102
IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, AcceptsFocus);
 
103
IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, AcceptsFocusFromKeyboard);
 
104
IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, GetMaxSize);
 
105
 
 
106
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyControl, wxControl, AddChild);
 
107
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyControl, wxControl, RemoveChild);
 
108
 
 
109
IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, ShouldInheritColours);
 
110
IMP_PYCALLBACK_VIZATTR_(wxPyControl, wxControl, GetDefaultAttributes);
 
111
 
 
112
IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, HasTransparentBackground);
 
113
 
 
114
IMP_PYCALLBACK_VOID_(wxPyControl, wxControl, OnInternalIdle);
 
115
%}
 
116
 
 
117
// And now the one for SWIG to see
 
118
MustHaveApp(wxPyControl);
 
119
class wxPyControl : public wxControl
 
120
{
 
121
public:
 
122
    %pythonAppend wxPyControl         "self._setOORInfo(self); self._setCallbackInfo(self, PyControl)"
 
123
    %pythonAppend wxPyControl()       ""
 
124
 
 
125
    wxPyControl(wxWindow* parent, const wxWindowID id=-1,
 
126
                const wxPoint& pos = wxDefaultPosition,
 
127
                const wxSize& size = wxDefaultSize,
 
128
                long style = 0,
 
129
                const wxValidator& validator=wxDefaultValidator,
 
130
                const wxString& name = wxPyControlNameStr);
 
131
 
 
132
    %RenameCtor(PrePyControl,  wxPyControl());
 
133
    
 
134
    void _setCallbackInfo(PyObject* self, PyObject* _class);
 
135
 
 
136
    void SetBestSize(const wxSize& size);
 
137
    bool DoEraseBackground(wxDC* dc);
 
138
    
 
139
    void base_DoMoveWindow(int x, int y, int width, int height);
 
140
    void base_DoSetSize(int x, int y, int width, int height,
 
141
                        int sizeFlags = wxSIZE_AUTO);
 
142
    void base_DoSetClientSize(int width, int height);
 
143
    void base_DoSetVirtualSize( int x, int y );
 
144
 
 
145
    DocDeclA(
 
146
        void, base_DoGetSize( int *OUTPUT, int *OUTPUT ) const,
 
147
        "base_DoGetSize() -> (width, height)");
 
148
    DocDeclA(
 
149
        void, base_DoGetClientSize( int *OUTPUT, int *OUTPUT ) const,
 
150
        "base_DoGetClientSize() -> (width, height)");
 
151
    DocDeclA(
 
152
        void, base_DoGetPosition( int *OUTPUT, int *OUTPUT ) const,
 
153
        "base_DoGetPosition() -> (x,y)");
 
154
 
 
155
    wxSize base_DoGetVirtualSize() const;
 
156
    wxSize base_DoGetBestSize() const;
 
157
 
 
158
    void base_InitDialog();
 
159
    bool base_TransferDataToWindow();
 
160
    bool base_TransferDataFromWindow();
 
161
    bool base_Validate();
 
162
 
 
163
    bool base_AcceptsFocus() const;
 
164
    bool base_AcceptsFocusFromKeyboard() const;
 
165
    wxSize base_GetMaxSize() const;
 
166
 
 
167
    void base_AddChild(wxWindow* child);
 
168
    void base_RemoveChild(wxWindow* child);
 
169
 
 
170
    bool base_ShouldInheritColours() const;
 
171
    wxVisualAttributes base_GetDefaultAttributes();
 
172
 
 
173
    void base_OnInternalIdle();
 
174
 
 
175
};
 
176
 
 
177
 
 
178
//---------------------------------------------------------------------------
 
179
//---------------------------------------------------------------------------