def __init__(self, parent): wx.Frame.__init__(self, parent, -1, self.title, size=(800, 600), style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE) self.CreateStatusBar() self.MakeMenu() self.filename = None self.doodle = DoodleWindow(self, -1) cPanel = ControlPanel(self, -1, self.doodle) # Create a sizer to layout the two windows side-by-side. # Both will grow vertically, the doodle window will grow # horizontally as well. box = wx.BoxSizer(wx.HORIZONTAL) box.Add(cPanel, 0, wx.EXPAND) box.Add(self.doodle, 1, wx.EXPAND) # Tell the frame that it should layout itself in response to # size events. self.SetAutoLayout(True) self.SetSizer(box)
def __init__(self, parent, id, title, appUrl): wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(800, 600)) #wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(800, 600), wx.DEFAULT_FRAME_STYLE^(wx.RESIZE_BORDER | wx.MINIMIZE_BOX |wx.MAXIMIZE_BOX)) #self.SetIcon(wx.Icon('ico/sharedpaint.ico', wx.BITMAP_TYPE_ICO)) self.appUrl = appUrl # <AGtk code> reactor.interleave(wx.CallAfter) # Create shared application client self.sharedAppClient = SharedAppClient("SharedPaint") self.log = self.sharedAppClient.InitLogging() self.log.debug("GroupPaint.__init__: Started Group Paint") # Get client profile try: self.clientProfileFile = os.path.join( UserConfig.instance().GetConfigDir(), "profile") self.clientProfile = ClientProfile(self.clientProfileFile) except: self.log.info( "SharedQuestionTool.__init__: Could not load client profile, set clientProfile = None" ) self.clientProfile = None # Join the application session self.sharedAppClient.Join(self.appUrl, self.clientProfile) self.publicId = self.sharedAppClient.GetPublicId() self.user = self.clientProfile.GetName() self.id = self.sharedAppClient.GetPublicId() # Register event callback self.sharedAppClient.RegisterEventCallback(events.CONSOLE_EVENT, self.GetConsoleEventData) self.sharedAppClient.RegisterEventCallback(events.CLEAR_EVENT, self.GetClearEvent) #self.sharedAppClient.RegisterEventCallback(events.SET_BG_EVENT, self.GetSetBGEvent) # </AGtk code> """ Setting status bar """ self.CreateStatusBar() workspace = wx.BoxSizer(wx.VERTICAL) imagePanel = wx.Panel(self, -1, style=wx.SIMPLE_BORDER) """ Painter """ self.painter = DoodleWindow(imagePanel, -1, self.clientProfile, self.sharedAppClient) imageBox = wx.BoxSizer(wx.VERTICAL) imageBox.Add(self.painter, 1, wx.EXPAND | wx.ALL, 1) imagePanel.SetSizer(imageBox) """ Console settings """ consolePanel = wx.Panel(self, -1, style=wx.SIMPLE_BORDER) self.console = wx.TextCtrl(consolePanel, -1, style=wx.TE_MULTILINE) self.console.SetEditable(0) consoleBox = wx.BoxSizer(wx.VERTICAL) consoleBox.Add(self.console, 1, wx.EXPAND | wx.ALL, 1) consolePanel.SetSizer(consoleBox) workspace.Add(imagePanel, 4, wx.EXPAND | wx.ALL, 1) workspace.Add(consolePanel, 1, wx.EXPAND | wx.ALL, 1) self.SetSizer(workspace)