def onFileWindow(self, evt): #self.menubar = wx.MenuBar() #self.PopupMenu(menu) #self.SetMenuBar(self.menubar) filewin = wx.PopupTransientWindow(self) # st = wx.StaticText(filewin, -1, # "wx.PopupTransientWindow is a\n" # "wx.PopupWindow which disappears\n" # "automatically when the user\n" # "clicks the mouse outside it or if it\n" # "(or its first child) loses focus in \n" # "any other way." # , # pos=(10,10)) # sz = st.GetBestSize() demoBtn = wx.Button(filewin, -1, "demo", (20, 150)) sizer = wx.BoxSizer(wx.VERTICAL) #sizer.Add(st, 0, wx.EXPAND) sizer.Add(demoBtn, 0, wx.EXPAND) #self.SetAutoLayout(1) filewin.SetSizer(sizer) sizer.Fit(filewin) #filewin.SetSize( (sz.width+200, sz.height+200) ) # Show the popup right below or above the button # depending on available screen space... btn = evt.GetEventObject() pos = btn.ClientToScreen((0, 0)) sz = btn.GetSize() filewin.Position(pos, (0, sz[1])) filewin.Popup()
def show_popup(self, event): def on_cal_changed(event): dt = event.GetDate() if is_date_conversion_supported(): self.Parent.choose_item(dt.Format("%B ") + str(dt.Day)) else: self.Parent.choose_item(dt.Format("%m.%d")) def on_cal(event): win.Destroy() win = wx.PopupTransientWindow(self, wx.NO_BORDER) now_date = date_to_mmdd(self.text.Value, return_formatted=False) if now_date is None: now_date = wx.DateTime_Now() style = 0 if osutils.is_msw(): style = wx.calendar.CAL_SEQUENTIAL_MONTH_SELECTION panel = wx.Panel(win) cal = wx.calendar.CalendarCtrl(panel, -1, now_date, pos=(1, 1), style=wx.RAISED_BORDER | style) panel.ClientSize = cal.Size + (1, 1) cal.Bind(wx.calendar.EVT_CALENDAR_SEL_CHANGED, on_cal_changed) cal.Bind(wx.calendar.EVT_CALENDAR, on_cal) size_combo = 0 if not style & wx.calendar.CAL_SEQUENTIAL_MONTH_SELECTION: # hide the spin control for child in panel.Children: if isinstance(child, wx.SpinCtrl): child.Hide() # we will shorten ourselves by this amount size_combo = child.Size[1] + 6 # make combo fill up rest of space for child in panel.Children: if isinstance(child, wx.ComboBox): child.Size = cal.Size[0], -1 win.Size = panel.GetSize() - (0, size_combo) # Show the popup right below or above the button # depending on available screen space... btn = event.GetEventObject() pos = btn.ClientToScreen((btn.Size[0], 0)) win.Position(pos, (-btn.Size[0], btn.Size[1])) win.Popup()
def __init__(self, parent): wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(150, 260), style=wx.TAB_TRAVERSAL) Vsz = wx.BoxSizer(wx.VERTICAL) self.btn1 = wx.Button(self, wx.ID_ANY, u" فروش", wx.DefaultPosition, wx.DefaultSize, 0) self.btn1.SetFont(wx.Font(16, 70, 90, 92, False, "B Zar")) Vsz.Add(self.btn1, 1, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 5) self.btn2 = wx.Button(self, wx.ID_ANY, u" رهن", wx.DefaultPosition, wx.DefaultSize, 0) self.btn2.SetFont(wx.Font(16, 70, 90, 92, False, "B Zar")) Vsz.Add(self.btn2, 1, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 5) self.btn3 = wx.Button(self, wx.ID_ANY, u" رهن اجاره", wx.DefaultPosition, wx.DefaultSize, 0) self.btn3.SetFont(wx.Font(16, 70, 90, 92, False, "B Zar")) Vsz.Add(self.btn3, 1, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 5) self.btn4 = wx.Button(self, wx.ID_ANY, u" بستن ", wx.DefaultPosition, wx.DefaultSize, 0) self.btn4.SetFont(wx.Font(16, 70, 90, 92, False, "B Zar")) Vsz.Add(self.btn4, 1, wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 5) self.Pcal1 = wx.PopupTransientWindow(self.GetTopLevelParent(), wx.SIMPLE_BORDER) self.pnl = Pmenu.MPanel(self.Pcal1) self.pnl.Bind(wx.EVT_BUTTON, self.Onbind, source=None) self.SetSizer(Vsz) self.Layout() # Connect Events self.btn1.Bind(wx.EVT_BUTTON, self.do1) self.btn1.Bind(wx.EVT_MOTION, self.do1) self.btn2.Bind(wx.EVT_BUTTON, self.do1) self.btn2.Bind(wx.EVT_MOTION, self.do1) self.btn3.Bind(wx.EVT_BUTTON, self.do1) self.btn3.Bind(wx.EVT_MOTION, self.do1) self.btn4.Bind(wx.EVT_BUTTON, self.onclose)
def popup_win(self, msg): popup = wx.PopupTransientWindow(self, wx.SIMPLE_BORDER) popup.SetBackgroundColour(wx.WHITE) text = wx.StaticText(popup, label=msg) text.SetFont(wx.Font(18, wx.ROMAN, wx.NORMAL, wx.BOLD)) sz = text.GetBestSize() popup.SetSize((sz.width, sz.height)) pos = self.ClientToScreen((0, 0)) sz2 = self.GetSize() psz = popup.GetSize() popup.SetPosition( wx.Point(pos[0] + 0.5 * sz2[0] - 0.5 * psz[0], pos[1] + 0.15 * sz2[1])) popup.Popup()
def mk_transient_window(self): extras = wx.PopupTransientWindow(self) extras.MakeModal(False) panel = wx.Panel(extras, wx.ID_ANY, style=wx.SIMPLE_BORDER) self.line_colorpicker = ColorButton(panel) self.line_colorpicker.SetColor((0, 0, 0)) self.line_color_checkbox = wx.CheckBox(panel, wx.ID_ANY, "Same as point color") self.line_color_checkbox.SetValue(True) self.on_same_point_color() self.Bind(wx.EVT_CHECKBOX, self.on_same_point_color, self.line_color_checkbox) self.Bind(wx.EVT_BUTTON, self.on_line_color_picker, self.line_colorpicker) sizer = wx.GridBagSizer(5, 5) self.point_size = wx.SpinCtrl(panel, wx.ID_ANY, style=wx.SP_ARROW_KEYS, min=1, max=100) self.point_size.SetValue(6) self.line_width = wx.SpinCtrl(panel, wx.ID_ANY, style=wx.SP_ARROW_KEYS, min=1, max=100) self.line_width.SetValue(4) simple_add_gbsizer(sizer, simple_text(panel, "Point Size"), (0, 0)) simple_add_gbsizer(sizer, self.point_size, (0, 1)) simple_add_gbsizer(sizer, simple_text(panel, "Line Width"), (1, 0)) simple_add_gbsizer(sizer, self.line_width, (1, 1)) simple_add_gbsizer(sizer, simple_text(panel, "Line Color"), (2, 0)) simple_add_gbsizer( sizer, simple_couple(self.line_colorpicker, self.line_color_checkbox, 5), (2, 1)) panel.SetSizer(pad_window(sizer, 5)) extras.SetSizerAndFit(simple_wrap(panel)) return extras
def __init__( self, parent, lbl ,lst , txt ): wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 523,305 ), style = wx.TAB_TRAVERSAL ) self.SetLayoutDirection(2) self.nmbr = adad.Adaad(1,u'') self.iCash = DG.GetData(u'',u'') self.jCash = DG.SetData(u'',u'') Vsz1 = wx.BoxSizer( wx.VERTICAL ) Hsz1 = wx.BoxSizer( wx.HORIZONTAL ) self.labl1 = wx.StaticText( self, wx.ID_ANY, lbl[0], wx.DefaultPosition, wx.DefaultSize, 0 ) self.labl1.Wrap( -1 ) self.labl1.SetFont( wx.Font( 16, 70, 90, 90, False, wx.EmptyString ) ) Hsz1.Add( self.labl1, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.labl2 = wx.StaticText( self, wx.ID_ANY, lbl[1], wx.DefaultPosition, wx.DefaultSize, 0 ) self.labl2.Wrap( -1 ) self.labl2.SetFont( wx.Font( 16, 70, 90, 90, False, wx.EmptyString ) ) Hsz1.Add( self.labl2, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.Hbtn = wx.BitmapButton( self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW ) Hsz1.Add( self.Hbtn, 1, wx.ALIGN_RIGHT|wx.ALL|wx.SHAPED, 5 ) Vsz1.Add( Hsz1, 1, wx.EXPAND, 5 ) Hsz2 = wx.BoxSizer( wx.HORIZONTAL ) self.labl3 = wx.StaticText( self, wx.ID_ANY, lbl[2], wx.DefaultPosition, wx.DefaultSize, 0 ) self.labl3.Wrap( -1 ) Hsz2.Add( self.labl3, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.fld1 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz2.Add( self.fld1, 0, wx.ALIGN_CENTER, 5 ) self.Cbtn = wx.BitmapButton( self, wx.ID_ANY, wx.Bitmap( UTILITY_PATH+u"calculator.bmp", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW ) Hsz2.Add( self.Cbtn, 0, wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.BOTTOM, 5 ) choice1Choices = lst self.choice1 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice1Choices, 0 ) self.choice1.SetSelection( 0 ) Hsz2.Add( self.choice1, 0, wx.ALIGN_CENTER, 5 ) self.labl4 = wx.StaticText( self, wx.ID_ANY, lbl[3], wx.DefaultPosition, wx.DefaultSize, 0 ) self.labl4.Wrap( -1 ) Hsz2.Add( self.labl4, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.fld2 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz2.Add( self.fld2, 1, wx.ALIGN_CENTER|wx.ALL, 5 ) Vsz1.Add( Hsz2, 1, wx.EXPAND, 5 ) Hsz3 = wx.BoxSizer( wx.HORIZONTAL ) self.labl5 = wx.StaticText( self, wx.ID_ANY, lbl[4], wx.DefaultPosition, wx.DefaultSize, 0 ) self.labl5.Wrap( -1 ) Hsz3.Add( self.labl5, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.idate = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz3.Add( self.idate, 0, wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.BOTTOM|wx.LEFT, 5 ) self.dbtn = wx.BitmapButton( self, wx.ID_ANY, wx.ArtProvider.GetBitmap( wx.ART_GO_DOWN, wx.ART_BUTTON ), wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW ) Hsz3.Add( self.dbtn, 0, wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.BOTTOM, 5 ) self.labl6 = wx.StaticText( self, wx.ID_ANY, lbl[5], wx.DefaultPosition, wx.DefaultSize, 0 ) self.labl6.Wrap( -1 ) Hsz3.Add( self.labl6, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.fld3 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz3.Add( self.fld3, 1, wx.ALIGN_CENTER, 5 ) self.btn1 = wx.Button( self, wx.ID_ANY, u"...", wx.DefaultPosition, wx.Size( 25,25 ), 0 ) Hsz3.Add( self.btn1, 0, wx.ALIGN_CENTER|wx.ALL, 1 ) Vsz1.Add( Hsz3, 1, wx.EXPAND, 5 ) Hsz4 = wx.BoxSizer( wx.HORIZONTAL ) self.labl7 = wx.StaticText( self, wx.ID_ANY, lbl[6], wx.DefaultPosition, wx.DefaultSize, 0 ) self.labl7.Wrap( -1 ) Hsz4.Add( self.labl7, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.fld4 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz4.Add( self.fld4, 1, wx.ALIGN_CENTER|wx.ALL, 5 ) self.labl8 = wx.StaticText( self, wx.ID_ANY, lbl[7], wx.DefaultPosition, wx.DefaultSize, 0 ) self.labl8.Wrap( -1 ) Hsz4.Add( self.labl8, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.fld5 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz4.Add( self.fld5, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) Vsz1.Add( Hsz4, 1, wx.EXPAND, 5 ) Hsz5 = wx.BoxSizer( wx.HORIZONTAL ) self.labl11 = wx.CheckBox( self, wx.ID_ANY, txt[2], wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz5.Add( self.labl11, 1, wx.ALIGN_CENTER|wx.ALL, 5 ) self.labl12 = wx.CheckBox( self, wx.ID_ANY, txt[3], wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz5.Add( self.labl12, 1, wx.ALIGN_CENTER|wx.ALL, 5 ) self.btn2 = wx.Button( self, wx.ID_ANY, txt[1], wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz5.Add( self.btn2, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) self.btn3 = wx.Button( self, wx.ID_ANY, txt[0], wx.DefaultPosition, wx.DefaultSize, 0 ) Hsz5.Add( self.btn3, 0, wx.ALIGN_CENTER|wx.ALL, 5 ) Vsz1.Add( Hsz5, 1, wx.EXPAND, 5 ) self.SetSizer( Vsz1 ) self.Layout() # Initial Panel And Prameter self.Pcal1 = wx.PopupTransientWindow(self.GetTopLevelParent(),wx.SIMPLE_BORDER) self.pnl = calfar01.MyPanel2(self.Pcal1,-1,-1) self.pnl.Bind(wx.EVT_BUTTON,self.Onbind,source=None) self.cur = 0 self.txtcur = u'ريال' self.isnd = 0 # Connect Events self.fld1.Bind( wx.EVT_TEXT, self.amont ) self.Cbtn.Bind( wx.EVT_BUTTON, self.calcu ) self.choice1.Bind( wx.EVT_CHOICE, self.curncy ) self.idate.Bind( wx.EVT_TEXT, self.chgdate ) self.dbtn.Bind( wx.EVT_BUTTON, self.dat ) self.btn1.Bind( wx.EVT_BUTTON, self.acsrch ) self.labl11.Bind( wx.EVT_CHECKBOX, self.prn ) self.labl12.Bind( wx.EVT_CHECKBOX, self.insnd ) self.btn2.Bind( wx.EVT_BUTTON, self.cancl ) self.btn3.Bind( wx.EVT_BUTTON, self.takit )
def __init__( self, parent,lbls,TB ): wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 470,175 ), style = wx.RAISED_BORDER ) self.iMolk = DG.GetData(u'',u'') self.jMolk = DG.SetData(u'',u'') self.inumr = adad.Adaad(1,'') self.lbls = lbls self.TB = TB Vsz2 = wx.BoxSizer( wx.VERTICAL ) Hsz1 = wx.BoxSizer( wx.HORIZONTAL ) self.srch = wx.Button( self, wx.ID_ANY, u"...", wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT ) Hsz1.Add( self.srch, 0, wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.BOTTOM|wx.LEFT, 5 ) self.srch.Hide() self.iacc = wx.TextCtrl( self, 302, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_PROCESS_ENTER|wx.TE_RIGHT|wx.STATIC_BORDER ) #self.iacc.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 90, False, wx.EmptyString ) ) Hsz1.Add( self.iacc, 0, wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.BOTTOM|wx.RIGHT, 5 ) self.txt2 = wx.StaticText( self, wx.ID_ANY, lbls[1], wx.DefaultPosition, wx.DefaultSize, 0 ) self.txt2.Wrap( -1 ) #self.txt2.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz1.Add( self.txt2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) Hsz1.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self.don = wx.BitmapButton( self, wx.ID_ANY, wx.ArtProvider.GetBitmap( wx.ART_GO_DOWN, wx.ART_BUTTON ), wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW ) Hsz1.Add( self.don, 0, wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.BOTTOM|wx.LEFT, 5 ) self.don.Hide() self.idate = wx.TextCtrl( self, 301, NOW, wx.DefaultPosition, wx.Size( 95,-1 ), 0|wx.STATIC_BORDER ) Hsz1.Add( self.idate, 0, wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.BOTTOM|wx.RIGHT, 5 ) self.txt1 = wx.StaticText( self, wx.ID_ANY, lbls[0], wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) self.txt1.Wrap( -1 ) #self.txt1.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz1.Add( self.txt1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) Vsz2.Add( Hsz1, 1, wx.EXPAND, 5 ) Hsz2 = wx.BoxSizer( wx.HORIZONTAL ) self.fld2 = wx.TextCtrl( self, 305, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_PROCESS_ENTER|wx.TE_RIGHT|wx.STATIC_BORDER ) self.fld2.SetToolTipString( u"بلوار-خیابان-کوچه-پلاک" ) Hsz2.Add( self.fld2, 1, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) #fld1Choices = [] self.fld1Chs = self.GetAreaList() self.fld1 = wx.ComboBox( self, 304, u"منطقه", wx.DefaultPosition, wx.DefaultSize, self.fld1Chs, wx.CB_DROPDOWN|wx.CB_READONLY|wx.CB_SORT|wx.TE_PROCESS_ENTER ) Hsz2.Add( self.fld1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.txt4 = wx.StaticText( self, wx.ID_ANY, lbls[3], wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) self.txt4.Wrap( -1 ) #self.txt4.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz2.Add( self.txt4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) Vsz2.Add( Hsz2, 1, wx.EXPAND, 5 ) Hsz3 = wx.BoxSizer( wx.HORIZONTAL ) self.iphon = wx.TextCtrl( self, 303, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_PROCESS_ENTER|wx.TE_RIGHT |wx.STATIC_BORDER) Hsz3.Add( self.iphon, 1, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.iphon.SetLayoutDirection(2) self.txt3 = wx.StaticText( self, wx.ID_ANY, lbls[2], wx.DefaultPosition, wx.DefaultSize, 0 ) self.txt3.Wrap( -1 ) #self.txt3.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz3.Add( self.txt3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.fld5 = wx.TextCtrl( self, 308, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_PROCESS_ENTER|wx.TE_RIGHT |wx.STATIC_BORDER) Hsz3.Add( self.fld5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.txt5 = wx.StaticText( self, wx.ID_ANY, lbls[4], wx.DefaultPosition, wx.DefaultSize, 0 ) self.txt5.Wrap( -1 ) #self.txt5.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz3.Add( self.txt5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) Vsz2.Add( Hsz3, 1, wx.EXPAND, 5 ) Hsz4 = wx.BoxSizer( wx.HORIZONTAL ) self.calcu = wx.BitmapButton( self, wx.ID_ANY, wx.Bitmap(UTILITY_PATH+u"calculator.bmp", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW ) Hsz4.Add( self.calcu, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) Hsz4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self.fld9 = wx.TextCtrl( self, 312, wx.EmptyString, wx.DefaultPosition, wx.Size( 45,-1 ), wx.TE_LEFT|wx.TE_PROCESS_ENTER|wx.STATIC_BORDER ) Hsz4.Add( self.fld9, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.fld9.SetLayoutDirection(2) self.txt9 = wx.StaticText( self, wx.ID_ANY, lbls[8], wx.DefaultPosition, wx.DefaultSize, 0 ) self.txt9.Wrap( -1 ) #self.txt9.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz4.Add( self.txt9, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.fld8 = wx.TextCtrl( self, 311, wx.EmptyString, wx.DefaultPosition, wx.Size( 45,-1 ), wx.TE_LEFT|wx.TE_PROCESS_ENTER|wx.STATIC_BORDER ) Hsz4.Add( self.fld8, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.fld8.SetLayoutDirection(2) self.txt8 = wx.StaticText( self, wx.ID_ANY, u"طبقات", wx.DefaultPosition, wx.DefaultSize, 0 ) self.txt8.Wrap( -1 ) #self.txt8.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz4.Add( self.txt8, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.fld7 = wx.TextCtrl( self, 310, wx.EmptyString, wx.DefaultPosition, wx.Size( 45,-1 ), wx.TE_LEFT|wx.TE_PROCESS_ENTER|wx.STATIC_BORDER ) Hsz4.Add( self.fld7, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.fld7.SetLayoutDirection(2) self.txt7 = wx.StaticText( self, wx.ID_ANY, lbls[6], wx.DefaultPosition, wx.DefaultSize, 0 ) self.txt7.Wrap( -1 ) #self.txt7.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz4.Add( self.txt7, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.fld6 = wx.TextCtrl( self, 309, wx.EmptyString, wx.DefaultPosition, wx.Size( 45,-1 ), wx.TE_LEFT|wx.TE_PROCESS_ENTER|wx.STATIC_BORDER ) Hsz4.Add( self.fld6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.fld6.SetLayoutDirection(2) self.txt6 = wx.StaticText( self, wx.ID_ANY, lbls[5], wx.DefaultPosition, wx.DefaultSize, 0 ) self.txt6.Wrap( -1 ) #self.txt6.SetFont( wx.Font( 12, 70, 90, 92, False, "Arial" ) ) Hsz4.Add( self.txt6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) Vsz2.Add( Hsz4, 1, wx.EXPAND, 5 ) # Initial Panel And Prameter self.Pcal1 = wx.PopupTransientWindow(self.GetTopLevelParent(),wx.SIMPLE_BORDER) self.pnl = calfar.MyPanel2(self.Pcal1,-1,-1) self.pnl.Bind(wx.EVT_BUTTON,self.Onbind,source=None) self.Initpn() #Show Hide item if TB[0] != u'' : self.txt8.Hide() self.fld8.Hide() self.SetSizer( Vsz2 ) self.Layout() # Connect Events self.srch.Bind( wx.EVT_BUTTON, self.scracc ) self.iacc.Bind( wx.EVT_CHAR, self.nxtfld ) self.iacc.Bind( wx.EVT_TEXT, self.inacc ) self.don.Bind( wx.EVT_BUTTON, self.Down ) self.idate.Bind( wx.EVT_TEXT, self.chgdate ) self.fld2.Bind( wx.EVT_CHAR, self.nxtfld ) self.fld2.Bind( wx.EVT_TEXT, self.inaddr ) self.fld1.Bind( wx.EVT_CHAR, self.nxtfld ) self.fld1.Bind( wx.EVT_COMBOBOX, self.nware ) self.fld1.Bind( wx.EVT_TEXT, self.inare ) self.iphon.Bind( wx.EVT_CHAR, self.nxtfld ) self.iphon.Bind( wx.EVT_TEXT, self.inphn ) self.fld5.Bind( wx.EVT_CHAR, self.nxtfld ) self.fld5.Bind( wx.EVT_TEXT, self.mlknam ) self.calcu.Bind( wx.EVT_BUTTON, self.calc1 ) self.fld9.Bind( wx.EVT_CHAR, self.nxtfld ) self.fld9.Bind( wx.EVT_TEXT, self.inyer ) self.fld7.Bind( wx.EVT_CHAR, self.nxtfld ) self.fld7.Bind( wx.EVT_TEXT, self.inmfd ) self.fld6.Bind( wx.EVT_CHAR, self.nxtfld ) self.fld6.Bind( wx.EVT_TEXT, self.inmtr ) if self.TB[0] == u'': self.fld8.Bind( wx.EVT_CHAR, self.nxtfld )
def test_popuptranswinCtor(self): p = wx.PopupTransientWindow(self.frame, wx.BORDER_SIMPLE) p.Popup() p.Dismiss()
def CreateApplet(self): r = wx.GetClientDisplayRect() position = (r.top, r.right) window = wx.PopupTransientWindow(self.frame, flags=wx.BORDER_NONE) fw = servicewall.ServiceWall() yielder = fw.yield_logs(limit=LOG_LIMIT) panel = wx.Panel(window) i = 0 panel_sizer = wx.BoxSizer(wx.HORIZONTAL) icons = [] labels = [] logs_by_port = {} # First sort logs by port : for log in yielder: if log["DPT"] not in logs_by_port: logs_by_port[log["DPT"]] = [ log, ] else: logs_by_port[log["DPT"]].append(log) # Then display them : status_sizer = wx.BoxSizer(wx.VERTICAL) logs_sizer = wx.GridSizer(len(logs_by_port) + 1, 4, 0, 0) status_label = wx.StaticText(panel, label="", style=wx.ALIGN_CENTER) status_details = wx.StaticText(panel, label="\nrealm : %s" % fw.realm_id, style=wx.ALIGN_CENTER) if fw.config["enabled"]: status_str = "enabled" else: status_str = "disabled" status_label.SetLabelMarkup("<big>ServiceWall\n%s</big>" % (status_str)) status_sizer.Add(status_label, 1, wx.ALIGN_CENTER, 25) status_sizer.Add(status_details, 1, wx.ALIGN_CENTER, 25) panel_sizer.Add(status_sizer, 1, wx.ALIGN_CENTER, 5) panel_sizer.Add(logs_sizer, 1, wx.ALL, 20) image = wx.Image(TRAY_ICON2, type=wx.BITMAP_TYPE_ANY).Scale(32, 32) bitmap = wx.Bitmap(image) logs_sizer.Add(wx.StaticText(panel, label="")) logs_sizer.Add(wx.StaticText(panel, label='port'), 1, wx.ALIGN_RIGHT, 0) logs_sizer.Add(wx.StaticText(panel, label="hits"), 1, wx.ALIGN_RIGHT, 0) logs_sizer.Add(wx.StaticText(panel, label="age"), 1, wx.ALIGN_RIGHT, 0) for name, logpile in logs_by_port.items(): date = logpile[0]["LOG_DATE"] delta = date.now() - date if delta.seconds <= 60: age = str(delta.seconds) + "'" else: age = ":".join(str(delta).split(".")[0].split(":")[0:2]) #rawbitmap = wx.Bitmap(TRAY_ICON2, type=wx.BITMAP_TYPE_ANY) #bitmap = wx.Bitmap(rawbitmap.ConvertToImage().Rescale(40, 40)) icons.append(wx.StaticBitmap(panel, -1, bitmap)) labels.append([ wx.StaticText(panel, label="%s" % logpile[0]["DPT"], style=wx.ALIGN_RIGHT), wx.StaticText(panel, label="%i" % len(logpile)), wx.StaticText(panel, label="%s" % age) ]) logs_sizer.Add(icons[i], 1, wx.ALL, 0) logs_sizer.Add(labels[i][0], 1, wx.ALIGN_RIGHT, 25) logs_sizer.Add(labels[i][1], 1, wx.ALIGN_RIGHT, 0) logs_sizer.Add(labels[i][2], 1, wx.ALIGN_RIGHT, 0) #for j in range(3): # logs_sizer.Add(labels[i][j], 6) i += 1 panel.SetSizer(panel_sizer) panel.SetAutoLayout(True) panel_sizer.Fit(panel) window.SetPosition((r.right - panel_sizer.Size[0] + 1, r.top)) window.SetSize(panel_sizer.Size) #window.Show(True) window.Popup() return window