def mainActionMsg(self, changeInfos): action = changeInfos['action'] user = changeInfos['userID'] nickname = changeInfos['nickname'] statesUsers = changeInfos['statesUsers'] appSettings.user01State = statesUsers['user01State'] appSettings.user02State = statesUsers['user02State'] appSettings.user03State = statesUsers['user03State'] if action == "win": if appSettings.isLoggedIn: msg = nickname + " nous a rejoint" self.statusBar.SetStatusText(msg, 0) else: if appSettings.userID == user: appSettings.isLoggedIn = True msg = "Connecté(e) en tant que: " + nickname appSettings.nickname = nickname self.statusBar.SetStatusText(msg, 0) if action == "loose": if appSettings.isLoggedIn: msg = nickname + " nous a quitté" self.statusBar.SetStatusText(msg, 0) mainDisplay(self)
def onMenuChangeMode(self, event): if appSettings.isDemoMode: appSettings.isDemoMode = False else: appSettings.isDemoMode = True mainDisplay(self) event.Skip()
def onLocalBtn(self, event): state = appSettings.bordLed state += 1 if state >= 4: state = 1 appSettings.bordLed = state mainDisplay(self) event.Skip()
def cnxMsg(self, value): appSettings.user01State = value['statsInfos']['user01State'] appSettings.user02State = value['statsInfos']['user02State'] appSettings.user03State = value['statsInfos']['user03State'] appSettings.product01 = value['productInfos']['product01'] appSettings.product02 = value['productInfos']['product02'] appSettings.product03 = value['productInfos']['product03'] msg = value['welcomeMsg'] + " - non connecté(e)" self.statusBar.SetStatusText(msg, 0) mainDisplay(self)
def pingMsg(self, value): if appSettings.isLoggedIn: state = appSettings.bordLed state += 1 if state >= 4: state = 1 appSettings.bordLed = state appSettings.pingNb += 1 if appSettings.pingNb == 1: msg = "1er ping" else: msg = str(appSettings.pingNb) + "ième ping" self.statusBar.SetStatusText(msg, 0) mainDisplay(self)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"AppPubSub", pos=wx.DefaultPosition, size=wx.Size(348, 700), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.protocol = None self.menubar1 = wx.MenuBar(0) self.m_menu1 = wx.Menu() self.menuChangeMode = wx.MenuItem(self.m_menu1, wx.ID_ANY, u"Change Mode", u"Change Mode", wx.ITEM_NORMAL) self.m_menu1.Append(self.menuChangeMode) self.m_menu1.AppendSeparator() self.menuQuit = wx.MenuItem(self.m_menu1, wx.ID_ANY, u"Quitter" + u"\t" + u"ctrl-q", u"Quitter l'application", wx.ITEM_NORMAL) self.m_menu1.Append(self.menuQuit) self.menubar1.Append(self.m_menu1, u"Menu") self.SetMenuBar(self.menubar1) mainPage = wx.BoxSizer(wx.VERTICAL) appPage = wx.BoxSizer(wx.HORIZONTAL) bSizer131 = wx.BoxSizer(wx.VERTICAL) self.cnxBtn01 = wx.Button(self, wx.ID_ANY, u"Poste 1", wx.DefaultPosition, wx.DefaultSize, 0) bSizer131.Add(self.cnxBtn01, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5) self.cnxBtn02 = wx.Button(self, wx.ID_ANY, u"Poste 2", wx.DefaultPosition, wx.DefaultSize, 0) bSizer131.Add(self.cnxBtn02, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5) self.cnxBtn03 = wx.Button(self, wx.ID_ANY, u"Poste 3", wx.DefaultPosition, wx.DefaultSize, 0) bSizer131.Add(self.cnxBtn03, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.fullPlace = wx.StaticText(self, wx.ID_ANY, u"no cnx", wx.DefaultPosition, wx.DefaultSize, 0) self.fullPlace.Wrap(-1) bSizer131.Add(self.fullPlace, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5) appPage.Add(bSizer131, 1, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) boardSide = wx.BoxSizer(wx.VERTICAL) user01Infos = wx.BoxSizer(wx.HORIZONTAL) self.pingUser01Btn = wx.Button(self, wx.ID_ANY, u"Ping", wx.DefaultPosition, wx.DefaultSize, 0) user01Infos.Add(self.pingUser01Btn, 0, wx.ALL, 5) self.user01Led = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap(u"public/icons/16x16_led_grey.png", wx.BITMAP_TYPE_ANY), wx.DefaultPosition, wx.DefaultSize, 0) user01Infos.Add(self.user01Led, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) self.user01Deno = wx.StaticText(self, wx.ID_ANY, u"Poste 1", wx.DefaultPosition, wx.DefaultSize, 0) self.user01Deno.Wrap(-1) user01Infos.Add(self.user01Deno, 0, wx.ALIGN_CENTER_VERTICAL, 5) boardSide.Add(user01Infos, 0, wx.ALIGN_LEFT | wx.ALL, 5) user02Infos = wx.BoxSizer(wx.HORIZONTAL) self.pingUser02Btn = wx.Button(self, wx.ID_ANY, u"Ping", wx.DefaultPosition, wx.DefaultSize, 0) user02Infos.Add(self.pingUser02Btn, 0, wx.ALL, 5) self.user02Led = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap(u"public/icons/16x16_led_grey.png", wx.BITMAP_TYPE_ANY), wx.DefaultPosition, wx.DefaultSize, 0) user02Infos.Add(self.user02Led, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) self.user02Deno = wx.StaticText(self, wx.ID_ANY, u"Poste 2", wx.DefaultPosition, wx.DefaultSize, 0) self.user02Deno.Wrap(-1) user02Infos.Add(self.user02Deno, 0, wx.ALIGN_CENTER_VERTICAL, 5) boardSide.Add(user02Infos, 0, wx.ALIGN_LEFT | wx.ALL, 5) user03Infos = wx.BoxSizer(wx.HORIZONTAL) self.pingUser03Btn = wx.Button(self, wx.ID_ANY, u"Ping", wx.DefaultPosition, wx.DefaultSize, 0) user03Infos.Add(self.pingUser03Btn, 0, wx.ALL, 5) self.user03Led = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap(u"public/icons/16x16_led_grey.png", wx.BITMAP_TYPE_ANY), wx.DefaultPosition, wx.DefaultSize, 0) user03Infos.Add(self.user03Led, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) self.user03Deno = wx.StaticText(self, wx.ID_ANY, u"Poste 3", wx.DefaultPosition, wx.DefaultSize, 0) self.user03Deno.Wrap(-1) user03Infos.Add(self.user03Deno, 0, wx.ALIGN_CENTER_VERTICAL, 5) boardSide.Add(user03Infos, 0, wx.ALIGN_LEFT | wx.ALL, 5) bSizer141 = wx.BoxSizer(wx.HORIZONTAL) self.pingBtn = wx.Button(self, wx.ID_ANY, u"Tous", wx.DefaultPosition, wx.DefaultSize, 0) bSizer141.Add(self.pingBtn, 1, wx.ALL | wx.EXPAND, 5) boardSide.Add(bSizer141, 0, wx.EXPAND, 5) appPage.Add(boardSide, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) bSizer12 = wx.BoxSizer(wx.VERTICAL) self.trafficLight = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap(u"public/icons/feu01.png", wx.BITMAP_TYPE_ANY), wx.DefaultPosition, wx.DefaultSize, 0) bSizer12.Add(self.trafficLight, 1, wx.ALIGN_CENTER_VERTICAL | wx.ALL | wx.EXPAND, 5) appPage.Add(bSizer12, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) mainPage.Add(appPage, 0, wx.ALL | wx.EXPAND, 5) bSizer132 = wx.BoxSizer(wx.VERTICAL) bSizer142 = wx.BoxSizer(wx.HORIZONTAL) productListChoices = [u"Produit 01", u"Produit 02", u"Produit 03"] self.productList = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, productListChoices, 0) self.productList.SetSelection(0) bSizer142.Add(self.productList, 0, wx.ALL, 5) self.productNbr = wx.SpinCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS | wx.TE_PROCESS_ENTER, 0, 99999, 0) bSizer142.Add(self.productNbr, 0, wx.ALL, 5) self.collectBtn = wx.Button(self, wx.ID_ANY, u"Collecter", wx.DefaultPosition, wx.DefaultSize, 0) bSizer142.Add(self.collectBtn, 1, wx.ALL | wx.EXPAND, 5) bSizer132.Add(bSizer142, 0, wx.EXPAND, 5) bSizer151 = wx.BoxSizer(wx.HORIZONTAL) bSizer132.Add(bSizer151, 0, wx.ALL | wx.EXPAND, 5) bSizer19 = wx.BoxSizer(wx.HORIZONTAL) bSizer20 = wx.BoxSizer(wx.VERTICAL) self.pdt01Deno = wx.StaticText(self, wx.ID_ANY, u"PDT01 (0)", wx.DefaultPosition, wx.Size(110, -1), 0) self.pdt01Deno.Wrap(-1) bSizer20.Add(self.pdt01Deno, 0, wx.ALIGN_LEFT | wx.ALL, 5) bSizer19.Add(bSizer20, 0, wx.ALIGN_CENTER_VERTICAL, 5) bSizer15111 = wx.BoxSizer(wx.HORIZONTAL) self.gaugePdt01 = wx.Gauge(self, wx.ID_ANY, 100, wx.DefaultPosition, wx.Size(-1, -1), wx.GA_HORIZONTAL) self.gaugePdt01.SetValue(60) self.gaugePdt01.SetToolTip(u"Tooltip") bSizer15111.Add(self.gaugePdt01, 2, wx.ALL, 5) bSizer19.Add(bSizer15111, 1, wx.EXPAND, 5) bSizer132.Add(bSizer19, 0, wx.EXPAND, 5) bSizer191 = wx.BoxSizer(wx.HORIZONTAL) bSizer201 = wx.BoxSizer(wx.VERTICAL) self.pdt02Deno = wx.StaticText(self, wx.ID_ANY, u"PDT02 (0)", wx.DefaultPosition, wx.Size(110, -1), 0) self.pdt02Deno.Wrap(-1) bSizer201.Add(self.pdt02Deno, 0, wx.ALIGN_LEFT | wx.ALL, 5) bSizer191.Add(bSizer201, 0, wx.ALIGN_CENTER_VERTICAL, 5) bSizer151111 = wx.BoxSizer(wx.HORIZONTAL) self.gaugePdt02 = wx.Gauge(self, wx.ID_ANY, 100, wx.DefaultPosition, wx.Size(-1, -1), wx.GA_HORIZONTAL) self.gaugePdt02.SetValue(60) self.gaugePdt02.SetToolTip(u"Tooltip") bSizer151111.Add(self.gaugePdt02, 1, wx.ALL, 5) bSizer191.Add(bSizer151111, 1, wx.EXPAND, 5) bSizer132.Add(bSizer191, 1, wx.EXPAND, 5) bSizer1911 = wx.BoxSizer(wx.HORIZONTAL) bSizer2011 = wx.BoxSizer(wx.VERTICAL) self.pdt03Deno = wx.StaticText(self, wx.ID_ANY, u"PDT03 (0)", wx.DefaultPosition, wx.Size(110, -1), 0) self.pdt03Deno.Wrap(-1) bSizer2011.Add(self.pdt03Deno, 0, wx.ALIGN_LEFT | wx.ALL, 5) bSizer1911.Add(bSizer2011, 0, wx.ALIGN_CENTER_VERTICAL, 5) bSizer1511111 = wx.BoxSizer(wx.HORIZONTAL) self.gaugePdt03 = wx.Gauge(self, wx.ID_ANY, 100, wx.DefaultPosition, wx.Size(-1, -1), wx.GA_HORIZONTAL) self.gaugePdt03.SetValue(60) self.gaugePdt03.SetToolTip(u"Tooltip") bSizer1511111.Add(self.gaugePdt03, 1, wx.ALL, 5) bSizer1911.Add(bSizer1511111, 1, wx.EXPAND, 5) bSizer132.Add(bSizer1911, 1, wx.EXPAND, 5) mainPage.Add(bSizer132, 0, wx.EXPAND, 5) bSizer13 = wx.BoxSizer(wx.VERTICAL) bSizer14 = wx.BoxSizer(wx.HORIZONTAL) bSizer13.Add(bSizer14, 0, wx.EXPAND, 5) self.chatTxt = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE | wx.TE_READONLY) bSizer13.Add(self.chatTxt, 1, wx.ALL | wx.EXPAND, 5) bSizer15 = wx.BoxSizer(wx.HORIZONTAL) self.sendBtn = wx.Button(self, wx.ID_ANY, u"Envoyer", wx.DefaultPosition, wx.DefaultSize, 0) bSizer15.Add(self.sendBtn, 0, wx.ALL, 5) self.msgText = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_PROCESS_ENTER) bSizer15.Add(self.msgText, 1, wx.ALL | wx.EXPAND, 5) bSizer13.Add(bSizer15, 0, wx.EXPAND, 5) mainPage.Add(bSizer13, 1, wx.ALL | wx.EXPAND, 5) self.mailBox = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY) mainPage.Add(self.mailBox, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.EXPAND, 5) self.SetSizer(mainPage) self.Layout() self.statusBar = self.CreateStatusBar(1, wx.STB_SIZEGRIP, wx.ID_ANY) self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_MENU, self.onMenuChangeMode, id=self.menuChangeMode.GetId()) self.Bind(wx.EVT_MENU, self.onMenuQuit, id=self.menuQuit.GetId()) self.cnxBtn01.Bind(wx.EVT_BUTTON, self.onCnxBtn01) self.cnxBtn02.Bind(wx.EVT_BUTTON, self.onCnxBtn02) self.cnxBtn03.Bind(wx.EVT_BUTTON, self.onCnxBtn03) self.pingUser01Btn.Bind(wx.EVT_BUTTON, self.onPingUser01Btn) self.pingUser02Btn.Bind(wx.EVT_BUTTON, self.onPingUser02Btn) self.pingUser03Btn.Bind(wx.EVT_BUTTON, self.onPingUser03Btn) self.pingBtn.Bind(wx.EVT_BUTTON, self.onPingBtn) self.productNbr.Bind(wx.EVT_TEXT_ENTER, self.onCollectBtn) self.collectBtn.Bind(wx.EVT_BUTTON, self.onCollectBtn) self.sendBtn.Bind(wx.EVT_BUTTON, self.onSendBtn) self.msgText.Bind(wx.EVT_TEXT_ENTER, self.onSendBtn) self.mailBox.Bind(wx.EVT_TEXT, self.onImportChange) mainDisplay(self)
def newProductMsg(self, productInfos): appSettings.product01 = productInfos['product01'] appSettings.product02 = productInfos['product02'] appSettings.product03 = productInfos['product03'] mainDisplay(self)