~ubuntu-branches/ubuntu/trusty/boa-constructor/trusty

« back to all changes in this revision

Viewing changes to Examples/layout/SashLayout.py

  • Committer: Bazaar Package Importer
  • Author(s): Cédric Delfosse
  • Date: 2007-01-23 21:32:29 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20070123213229-1d9lxp9c4dutjwv5
Add a .desktop file (Closes: #349081)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#Boa:Frame:wxFrame1
2
 
 
3
 
from wxPython.wx import *
4
 
 
5
 
def create(parent):
6
 
    return wxFrame1(parent)
7
 
 
8
 
[wxID_WXFRAME1, wxID_WXFRAME1PANEL1, wxID_WXFRAME1SASHLAYOUTWINDOW1,
9
 
 wxID_WXFRAME1SASHLAYOUTWINDOW2, wxID_WXFRAME1SASHLAYOUTWINDOW3,
10
 
 wxID_WXFRAME1SASHLAYOUTWINDOW4, wxID_WXFRAME1STATICTEXT1,
11
 
 wxID_WXFRAME1TEXTCTRL1, wxID_WXFRAME1TEXTCTRL2,
12
 
] = map(lambda _init_ctrls: wxNewId(), range(9))
13
 
 
14
 
class wxFrame1(wxFrame):
15
 
    def _init_utils(self):
16
 
        # generated method, don't edit
17
 
        pass
18
 
 
19
 
    def _init_ctrls(self, prnt):
20
 
        # generated method, don't edit
21
 
        wxFrame.__init__(self, id=wxID_WXFRAME1, name='', parent=prnt,
22
 
              pos=wxPoint(327, 136), size=wxSize(518, 376),
23
 
              style=wxDEFAULT_FRAME_STYLE, title='Sash layout')
24
 
        self._init_utils()
25
 
        self.SetClientSize(wxSize(510, 349))
26
 
        EVT_SIZE(self, self.OnWxframe1Size)
27
 
 
28
 
        self.panel1 = wxPanel(id=wxID_WXFRAME1PANEL1, name='panel1',
29
 
              parent=self, pos=wxPoint(248, 50), size=wxSize(262, 234),
30
 
              style=wxTAB_TRAVERSAL)
31
 
 
32
 
        self.sashLayoutWindow1 = wxSashLayoutWindow(id=wxID_WXFRAME1SASHLAYOUTWINDOW1,
33
 
              name='sashLayoutWindow1', parent=self, pos=wxPoint(0, 0),
34
 
              size=wxSize(510, 50), style=wxCLIP_CHILDREN | wxSW_3D)
35
 
        self.sashLayoutWindow1.SetBackgroundColour(wxColour(255, 0, 0))
36
 
        self.sashLayoutWindow1.SetOrientation(wxLAYOUT_HORIZONTAL)
37
 
        self.sashLayoutWindow1.SetAlignment(wxLAYOUT_TOP)
38
 
        self.sashLayoutWindow1.SetSashVisible(wxSASH_BOTTOM, true)
39
 
        self.sashLayoutWindow1.SetDefaultSize(wxSize(510, 50))
40
 
        EVT_SASH_DRAGGED(self.sashLayoutWindow1, wxID_WXFRAME1SASHLAYOUTWINDOW1,
41
 
              self.OnSashlayoutwindow1SashDragged)
42
 
 
43
 
        self.sashLayoutWindow4 = wxSashLayoutWindow(id=wxID_WXFRAME1SASHLAYOUTWINDOW4,
44
 
              name='sashLayoutWindow4', parent=self, pos=wxPoint(0, 284),
45
 
              size=wxSize(510, 65), style=wxCLIP_CHILDREN | wxSW_3D)
46
 
        self.sashLayoutWindow4.SetBackgroundColour(wxColour(0, 0, 255))
47
 
        self.sashLayoutWindow4.SetAlignment(wxLAYOUT_BOTTOM)
48
 
        self.sashLayoutWindow4.SetSashVisible(wxSASH_TOP, true)
49
 
        self.sashLayoutWindow4.SetOrientation(wxLAYOUT_HORIZONTAL)
50
 
        self.sashLayoutWindow4.SetDefaultSize(wxSize(308, 65))
51
 
        self.sashLayoutWindow4.SetExtraBorderSize(10)
52
 
        EVT_SASH_DRAGGED(self.sashLayoutWindow4, wxID_WXFRAME1SASHLAYOUTWINDOW4,
53
 
              self.OnSashlayoutwindow4SashDragged)
54
 
 
55
 
        self.sashLayoutWindow2 = wxSashLayoutWindow(id=wxID_WXFRAME1SASHLAYOUTWINDOW2,
56
 
              name='sashLayoutWindow2', parent=self, pos=wxPoint(0, 50),
57
 
              size=wxSize(112, 234), style=wxCLIP_CHILDREN | wxSW_3D)
58
 
        self.sashLayoutWindow2.SetBackgroundColour(wxColour(128, 255, 0))
59
 
        self.sashLayoutWindow2.SetExtraBorderSize(20)
60
 
        self.sashLayoutWindow2.SetAlignment(wxLAYOUT_LEFT)
61
 
        self.sashLayoutWindow2.SetOrientation(wxLAYOUT_VERTICAL)
62
 
        self.sashLayoutWindow2.SetSashVisible(wxSASH_RIGHT, true)
63
 
        self.sashLayoutWindow2.SetDefaultSize(wxSize(112, 113))
64
 
        EVT_SASH_DRAGGED(self.sashLayoutWindow2, wxID_WXFRAME1SASHLAYOUTWINDOW2,
65
 
              self.OnSashlayoutwindow2SashDragged)
66
 
 
67
 
        self.sashLayoutWindow3 = wxSashLayoutWindow(id=wxID_WXFRAME1SASHLAYOUTWINDOW3,
68
 
              name='sashLayoutWindow3', parent=self, pos=wxPoint(112, 50),
69
 
              size=wxSize(136, 234), style=wxCLIP_CHILDREN | wxSW_3D)
70
 
        self.sashLayoutWindow3.SetBackgroundColour(wxColour(0, 255, 255))
71
 
        self.sashLayoutWindow3.SetAlignment(wxLAYOUT_LEFT)
72
 
        self.sashLayoutWindow3.SetOrientation(wxLAYOUT_VERTICAL)
73
 
        self.sashLayoutWindow3.SetSashVisible(wxSASH_RIGHT, true)
74
 
        self.sashLayoutWindow3.SetDefaultSize(wxSize(136, 234))
75
 
        EVT_SASH_DRAGGED(self.sashLayoutWindow3, wxID_WXFRAME1SASHLAYOUTWINDOW3,
76
 
              self.OnSashlayoutwindow3SashDragged)
77
 
 
78
 
        self.textCtrl1 = wxTextCtrl(id=wxID_WXFRAME1TEXTCTRL1, name='textCtrl1',
79
 
              parent=self.sashLayoutWindow2, pos=wxPoint(20, 20),
80
 
              size=wxSize(69, 194), style=0, value='textCtrl1')
81
 
 
82
 
        self.staticText1 = wxStaticText(id=wxID_WXFRAME1STATICTEXT1,
83
 
              label='staticText1', name='staticText1', parent=self.panel1,
84
 
              pos=wxPoint(16, 16), size=wxSize(52, 13), style=0)
85
 
 
86
 
        self.textCtrl2 = wxTextCtrl(id=wxID_WXFRAME1TEXTCTRL2, name='textCtrl2',
87
 
              parent=self.sashLayoutWindow4, pos=wxPoint(10, 13),
88
 
              size=wxSize(490, 42), style=0, value='textCtrl2')
89
 
 
90
 
    def __init__(self, parent):
91
 
        self._init_ctrls(parent)
92
 
 
93
 
    def checkStatusRange(self, event):
94
 
        return event.GetDragStatus() != wxSASH_STATUS_OUT_OF_RANGE
95
 
 
96
 
    def doLayout(self):
97
 
        wxLayoutAlgorithm().LayoutWindow(self, self.panel1)
98
 
        self.panel1.Refresh()
99
 
 
100
 
    def OnWxframe1Size(self, event):
101
 
        self.doLayout()
102
 
 
103
 
    def OnSashlayoutwindow1SashDragged(self, event):
104
 
        if self.checkStatusRange(event):
105
 
            self.sashLayoutWindow1.SetDefaultSize(wxSize(1000, event.GetDragRect().height))
106
 
            self.doLayout()
107
 
 
108
 
    def OnSashlayoutwindow2SashDragged(self, event):
109
 
        if self.checkStatusRange(event):
110
 
            self.sashLayoutWindow2.SetDefaultSize(wxSize(event.GetDragRect().width, 1000))
111
 
            self.doLayout()
112
 
 
113
 
    def OnSashlayoutwindow3SashDragged(self, event):
114
 
        if self.checkStatusRange(event):
115
 
            self.sashLayoutWindow3.SetDefaultSize(wxSize(event.GetDragRect().width, 1000))
116
 
            self.doLayout()
117
 
 
118
 
    def OnSashlayoutwindow4SashDragged(self, event):
119
 
        if self.checkStatusRange(event):
120
 
            self.sashLayoutWindow4.SetDefaultSize(wxSize(1000, event.GetDragRect().height))
121
 
            self.doLayout()
122
 
 
123
 
 
124
 
if __name__ == '__main__':
125
 
    app = wxPySimpleApp()
126
 
    wxInitAllImageHandlers()
127
 
    frame = create(None)
128
 
    frame.Show()
129
 
    app.MainLoop()
 
1
#Boa:Frame:Frame1
 
2
 
 
3
import wx
 
4
 
 
5
def create(parent):
 
6
    return Frame1(parent)
 
7
 
 
8
[wxID_FRAME1, wxID_FRAME1PANEL1, wxID_FRAME1SASHLAYOUTWINDOW1, 
 
9
 wxID_FRAME1SASHLAYOUTWINDOW2, wxID_FRAME1SASHLAYOUTWINDOW3, 
 
10
 wxID_FRAME1SASHLAYOUTWINDOW4, wxID_FRAME1STATICTEXT1, wxID_FRAME1TEXTCTRL1, 
 
11
 wxID_FRAME1TEXTCTRL2, 
 
12
] = [wx.NewId() for _init_ctrls in range(9)]
 
13
 
 
14
class Frame1(wx.Frame):
 
15
    def _init_ctrls(self, prnt):
 
16
        # generated method, don't edit
 
17
        wx.Frame.__init__(self, id=wxID_FRAME1, name='Frame1', parent=prnt,
 
18
              pos=wx.Point(327, 136), size=wx.Size(518, 376),
 
19
              style=wx.DEFAULT_FRAME_STYLE, title='Sash layout')
 
20
        self.SetClientSize(wx.Size(510, 349))
 
21
        self.Bind(wx.EVT_SIZE, self.OnWxframe1Size)
 
22
 
 
23
        self.panel1 = wx.Panel(id=wxID_FRAME1PANEL1, name='panel1', parent=self,
 
24
              pos=wx.Point(248, 50), size=wx.Size(262, 234),
 
25
              style=wx.TAB_TRAVERSAL)
 
26
 
 
27
        self.sashLayoutWindow1 = wx.SashLayoutWindow(id=wxID_FRAME1SASHLAYOUTWINDOW1,
 
28
              name='sashLayoutWindow1', parent=self, pos=wx.Point(0, 0),
 
29
              size=wx.Size(510, 50), style=wx.CLIP_CHILDREN | wx.SW_3D)
 
30
        self.sashLayoutWindow1.SetBackgroundColour(wx.Colour(255, 0, 0))
 
31
        self.sashLayoutWindow1.SetOrientation(wx.LAYOUT_HORIZONTAL)
 
32
        self.sashLayoutWindow1.SetAlignment(wx.LAYOUT_TOP)
 
33
        self.sashLayoutWindow1.SetSashVisible(wx.SASH_BOTTOM, True)
 
34
        self.sashLayoutWindow1.SetDefaultSize(wx.Size(510, 50))
 
35
        self.sashLayoutWindow1.Bind(wx.EVT_SASH_DRAGGED,
 
36
              self.OnSashlayoutwindow1SashDragged,
 
37
              id=wxID_FRAME1SASHLAYOUTWINDOW1)
 
38
 
 
39
        self.sashLayoutWindow4 = wx.SashLayoutWindow(id=wxID_FRAME1SASHLAYOUTWINDOW4,
 
40
              name='sashLayoutWindow4', parent=self, pos=wx.Point(0, 284),
 
41
              size=wx.Size(510, 65), style=wx.CLIP_CHILDREN | wx.SW_3D)
 
42
        self.sashLayoutWindow4.SetBackgroundColour(wx.Colour(0, 0, 255))
 
43
        self.sashLayoutWindow4.SetAlignment(wx.LAYOUT_BOTTOM)
 
44
        self.sashLayoutWindow4.SetSashVisible(wx.SASH_TOP, True)
 
45
        self.sashLayoutWindow4.SetOrientation(wx.LAYOUT_HORIZONTAL)
 
46
        self.sashLayoutWindow4.SetDefaultSize(wx.Size(308, 65))
 
47
        self.sashLayoutWindow4.SetExtraBorderSize(10)
 
48
        self.sashLayoutWindow4.Bind(wx.EVT_SASH_DRAGGED,
 
49
              self.OnSashlayoutwindow4SashDragged,
 
50
              id=wxID_FRAME1SASHLAYOUTWINDOW4)
 
51
 
 
52
        self.sashLayoutWindow2 = wx.SashLayoutWindow(id=wxID_FRAME1SASHLAYOUTWINDOW2,
 
53
              name='sashLayoutWindow2', parent=self, pos=wx.Point(0, 50),
 
54
              size=wx.Size(112, 234), style=wx.CLIP_CHILDREN | wx.SW_3D)
 
55
        self.sashLayoutWindow2.SetBackgroundColour(wx.Colour(128, 255, 0))
 
56
        self.sashLayoutWindow2.SetExtraBorderSize(20)
 
57
        self.sashLayoutWindow2.SetAlignment(wx.LAYOUT_LEFT)
 
58
        self.sashLayoutWindow2.SetOrientation(wx.LAYOUT_VERTICAL)
 
59
        self.sashLayoutWindow2.SetSashVisible(wx.SASH_RIGHT, True)
 
60
        self.sashLayoutWindow2.SetDefaultSize(wx.Size(112, 113))
 
61
        self.sashLayoutWindow2.Bind(wx.EVT_SASH_DRAGGED,
 
62
              self.OnSashlayoutwindow2SashDragged,
 
63
              id=wxID_FRAME1SASHLAYOUTWINDOW2)
 
64
 
 
65
        self.sashLayoutWindow3 = wx.SashLayoutWindow(id=wxID_FRAME1SASHLAYOUTWINDOW3,
 
66
              name='sashLayoutWindow3', parent=self, pos=wx.Point(112, 50),
 
67
              size=wx.Size(136, 234), style=wx.CLIP_CHILDREN | wx.SW_3D)
 
68
        self.sashLayoutWindow3.SetBackgroundColour(wx.Colour(0, 255, 255))
 
69
        self.sashLayoutWindow3.SetAlignment(wx.LAYOUT_LEFT)
 
70
        self.sashLayoutWindow3.SetOrientation(wx.LAYOUT_VERTICAL)
 
71
        self.sashLayoutWindow3.SetSashVisible(wx.SASH_RIGHT, True)
 
72
        self.sashLayoutWindow3.SetDefaultSize(wx.Size(136, 234))
 
73
        self.sashLayoutWindow3.Bind(wx.EVT_SASH_DRAGGED,
 
74
              self.OnSashlayoutwindow3SashDragged,
 
75
              id=wxID_FRAME1SASHLAYOUTWINDOW3)
 
76
 
 
77
        self.textCtrl1 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL1, name='textCtrl1',
 
78
              parent=self.sashLayoutWindow2, pos=wx.Point(20, 20),
 
79
              size=wx.Size(69, 194), style=0, value='textCtrl1')
 
80
 
 
81
        self.staticText1 = wx.StaticText(id=wxID_FRAME1STATICTEXT1,
 
82
              label='staticText1', name='staticText1', parent=self.panel1,
 
83
              pos=wx.Point(16, 16), size=wx.Size(52, 13), style=0)
 
84
 
 
85
        self.textCtrl2 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL2, name='textCtrl2',
 
86
              parent=self.sashLayoutWindow4, pos=wx.Point(10, 13),
 
87
              size=wx.Size(490, 42), style=0, value='textCtrl2')
 
88
 
 
89
    def __init__(self, parent):
 
90
        self._init_ctrls(parent)
 
91
 
 
92
    def checkStatusRange(self, event):
 
93
        return event.GetDragStatus() != wx.SASH_STATUS_OUT_OF_RANGE
 
94
 
 
95
    def doLayout(self):
 
96
        wx.LayoutAlgorithm().LayoutWindow(self, self.panel1)
 
97
        self.panel1.Refresh()
 
98
 
 
99
    def OnWxframe1Size(self, event):
 
100
        self.doLayout()
 
101
 
 
102
    def OnSashlayoutwindow1SashDragged(self, event):
 
103
        if self.checkStatusRange(event):
 
104
            self.sashLayoutWindow1.SetDefaultSize(wx.Size(1000, event.GetDragRect().height))
 
105
            self.doLayout()
 
106
 
 
107
    def OnSashlayoutwindow2SashDragged(self, event):
 
108
        if self.checkStatusRange(event):
 
109
            self.sashLayoutWindow2.SetDefaultSize(wx.Size(event.GetDragRect().width, 1000))
 
110
            self.doLayout()
 
111
 
 
112
    def OnSashlayoutwindow3SashDragged(self, event):
 
113
        if self.checkStatusRange(event):
 
114
            self.sashLayoutWindow3.SetDefaultSize(wx.Size(event.GetDragRect().width, 1000))
 
115
            self.doLayout()
 
116
 
 
117
    def OnSashlayoutwindow4SashDragged(self, event):
 
118
        if self.checkStatusRange(event):
 
119
            self.sashLayoutWindow4.SetDefaultSize(wx.Size(1000, event.GetDragRect().height))
 
120
            self.doLayout()
 
121
 
 
122
 
 
123
if __name__ == '__main__':
 
124
    app = wx.PySimpleApp()
 
125
    wx.InitAllImageHandlers()
 
126
    frame = create(None)
 
127
    frame.Show()
 
128
    app.MainLoop()