def _do_layout(self): self.sizer0 = wx.BoxSizer(wx.VERTICAL) self.sizer1 = wx.BoxSizer(wx.HORIZONTAL) self.sizer2 = wx.BoxSizer(wx.HORIZONTAL) tagselections = get_all_tags().keys() tagselections.sort() self.TagChoice = wx.Choice(self, -1, choices=tagselections) self.TagChoice.SetStringSelection('') self.TagDelButton = wx.BitmapButton( self, -1, bitmap=wx.ArtProvider.GetBitmap(wx.ART_DELETE, wx.ART_TOOLBAR)) tdbtt = wx.ToolTip(_('Delete this tag')) self.TagDelButton.SetToolTip(tdbtt) self.ListDisplay = BibListCtrl(self) self.reportButton = wx.Button(self, -1, label=("Generate Report")) self.sizer1.Add((20,20), 1) self.sizer1.Add(self.reportButton, 0, wx.ALL, 5) self.sizer2.Add(self.TagChoice, 1, wx.ALL|wx.EXPAND, 5) self.sizer2.Add(self.TagDelButton, 0, wx.ALL, 5) self.sizer0.Add(self.sizer2, 0, wx.ALL|wx.EXPAND, 5) self.sizer0.Add(self.ListDisplay, 1, wx.ALL|wx.EXPAND, 5) self.sizer0.Add(self.sizer1, 0, wx.ALL|wx.EXPAND, 5) self.SetSizer(self.sizer0) if len(tagselections) > 0: self.SelectTag(tagselections[0])
def onTag(self, rowid): '''Add tags to tag queue for this object''' obj = self.atomDisplay.rowdata[rowid] dia = PieTagDialog(self, get_all_tags().keys(), obj.get_queued_tags()) ans = dia.ShowModal() if ans == wx.ID_CANCEL: return obj.add_tags_queued(*dia.GetTags()) tagbt = getattr(self.atomDisplay, 'tagbutton%d' % rowid) tt = wx.ToolTip(u'; '.join(obj.get_queued_tags())) tagbt.SetToolTip(tt)
def __init__(self, parent, id, bigparent, *args, **kwargs): # kwargs['size'] = (80,140) wx.Panel.__init__(self, parent, id, *args, **kwargs) self.bigparent = bigparent self.favpanel = FBBPanel(self, -1, bigparent=bigparent) self.sizer0 = wx.BoxSizer(wx.VERTICAL) self.fgsizer = wx.FlexGridSizer(0, 2, 5, 5) self.fgsizer.AddGrowableCol(1) self.title_ct = EditableText(self, -1, '', objattr='title') # self.title_ct.SetFont(itfont) self.dings_ct = wx.StaticText(self, -1, u'') self.auth_lb = wx.StaticText(self, -1, _('Author:')) self.auth_lb.SetFont(boldfont) self.auth_ct = EditableText(self, -1, '', objattr='author') self.auth_ct.SetFont(normalfont) self.date_lb = wx.StaticText(self, -1, _('Date:')) self.date_lb.SetFont(boldfont) self.date_ct = wx.StaticText(self, -1, '') self.date_ct.SetFont(normalfont) self.locn_lb = wx.StaticText(self, -1, _('Location:')) self.locn_lb.SetFont(boldfont) self.locn_ct = wx.StaticText(self, -1, '') self.locn_ct.SetFont(normalfont) self.tagedit = PieTagWidget(self, -1, mode="multiline") self.tagedit.setTagList(get_all_tags().keys()) # self.tagedit.Bind(EVT_PIE_TAG_ADDED, self.bigparent.OnTagAdded) self.tagedit.Bind(EVT_PIE_TAG_ADDED, self.onTagAdded) self.tagedit.Bind(EVT_PIE_TAG_CLICKED, self.bigparent.OnTagClicked) self.auth_ct.Bind(EVT_PIE_CONTEXT_PANEL_FIELD, self.bigparent.OnFieldEdit) self.title_ct.Bind(EVT_PIE_CONTEXT_PANEL_FIELD, self.bigparent.OnFieldEdit) self.fgsizer.Add(self.favpanel) self.fgsizer.Add(self.title_ct, 1, wx.ALL, 3) self.fgsizer.Add((5, 5)) self.fgsizer.Add(self.dings_ct, 0, wx.LEFT | wx.RIGHT, 3) self.fgsizer.Add(self.auth_lb, 0, wx.LEFT | wx.RIGHT, 3) self.fgsizer.Add(self.auth_ct, 1, wx.EXPAND | wx.LEFT | wx.RIGHT, 3) self.fgsizer.Add(self.date_lb, 0, wx.LEFT | wx.RIGHT, 3) self.fgsizer.Add(self.date_ct, 0, wx.LEFT | wx.RIGHT, 3) self.fgsizer.Add(self.locn_lb, 0, wx.LEFT | wx.RIGHT, 3) self.fgsizer.Add(self.locn_ct, 0, wx.LEFT | wx.RIGHT, 3) self.fgsizer.Add((5, 5)) self.sizer0.Add(self.fgsizer, 1, wx.EXPAND) self.sizer0.Add(self.tagedit, 0) self.SetSizer(self.sizer0) # self.SetSizer(self.fgsizer) self.Layout() wx.Panel.SetSize(self, self.sizer0.GetMinSize())
def onTag(self, rowid): """Add tags to tag queue for this object""" obj = self.atomDisplay.rowdata[rowid] dia = PieTagDialog(self, get_all_tags().keys(), obj.get_queued_tags()) ans = dia.ShowModal() if ans == wx.ID_CANCEL: return obj.add_tags_queued(*dia.GetTags()) tagbt = getattr(self.atomDisplay, "tagbutton%d" % rowid) tt = wx.ToolTip(u"; ".join(obj.get_queued_tags())) tagbt.SetToolTip(tt)
def __init__(self, parent, id, bigparent, *args, **kwargs): # kwargs['size'] = (80,140) wx.Panel.__init__(self, parent, id, *args, **kwargs) self.bigparent = bigparent self.favpanel = FBBPanel(self, -1, bigparent=bigparent) self.sizer0 = wx.BoxSizer(wx.VERTICAL) self.fgsizer = wx.FlexGridSizer(0, 2, 5, 5) self.fgsizer.AddGrowableCol(1) self.title_ct = EditableText(self, -1, '', objattr='title') # self.title_ct.SetFont(itfont) self.dings_ct = wx.StaticText(self, -1, u'') self.auth_lb = wx.StaticText(self, -1, _('Author:')) self.auth_lb.SetFont(boldfont) self.auth_ct = EditableText(self, -1, '', objattr='author') self.auth_ct.SetFont(normalfont) self.date_lb = wx.StaticText(self, -1, _('Date:')) self.date_lb.SetFont(boldfont) self.date_ct = wx.StaticText(self, -1, '') self.date_ct.SetFont(normalfont) self.locn_lb = wx.StaticText(self, -1, _('Location:')) self.locn_lb.SetFont(boldfont) self.locn_ct = wx.StaticText(self, -1, '') self.locn_ct.SetFont(normalfont) self.tagedit = PieTagWidget(self, -1, mode="multiline") self.tagedit.setTagList(get_all_tags().keys()) # self.tagedit.Bind(EVT_PIE_TAG_ADDED, self.bigparent.OnTagAdded) self.tagedit.Bind(EVT_PIE_TAG_ADDED, self.onTagAdded) self.tagedit.Bind(EVT_PIE_TAG_CLICKED, self.bigparent.OnTagClicked) self.auth_ct.Bind(EVT_PIE_CONTEXT_PANEL_FIELD, self.bigparent.OnFieldEdit) self.title_ct.Bind(EVT_PIE_CONTEXT_PANEL_FIELD, self.bigparent.OnFieldEdit) self.fgsizer.Add(self.favpanel) self.fgsizer.Add(self.title_ct, 1, wx.ALL, 3) self.fgsizer.Add((5,5)) self.fgsizer.Add(self.dings_ct, 0, wx.LEFT|wx.RIGHT, 3) self.fgsizer.Add(self.auth_lb, 0, wx.LEFT|wx.RIGHT, 3) self.fgsizer.Add(self.auth_ct, 1, wx.EXPAND|wx.LEFT|wx.RIGHT, 3) self.fgsizer.Add(self.date_lb, 0, wx.LEFT|wx.RIGHT, 3) self.fgsizer.Add(self.date_ct, 0, wx.LEFT|wx.RIGHT, 3) self.fgsizer.Add(self.locn_lb, 0, wx.LEFT|wx.RIGHT, 3) self.fgsizer.Add(self.locn_ct, 0, wx.LEFT|wx.RIGHT, 3) self.fgsizer.Add((5,5)) self.sizer0.Add(self.fgsizer, 1, wx.EXPAND) self.sizer0.Add(self.tagedit, 0) self.SetSizer(self.sizer0) # self.SetSizer(self.fgsizer) self.Layout() wx.Panel.SetSize(self, self.sizer0.GetMinSize())
def OnDelTag(self, evt): if not self.TagChoice.GetStringSelection(): return msg = wx.MessageDialog(self, _('Are you sure you want to delete this tag?'), _('Delete Tag'), style=wx.YES|wx.NO|wx.ICON_QUESTION|wx.NO_DEFAULT) ans = msg.ShowModal() if ans == wx.ID_YES: fn_del_tag(self.TagChoice.GetStringSelection()) tagselections = get_all_tags().keys() tagselections.sort() self.TagChoice.Clear() [ self.TagChoice.Append(i) for i in tagselections ] if len(tagselections) > 0: self.SelectTag(tagselections[0]) else: self.ClearAllData()
def __init__(self, *args, **kw): wx.Panel.__init__(self, *args, **kw) sizer = wx.BoxSizer(wx.VERTICAL) self.toolbar = wx.ToolBar(self, -1) self.MakeToolBar() self.titlelabel = wx.StaticText(self, -1, 'The title') self.authorlabel = wx.StaticText(self, -1, 'The Author') self.datelabel = wx.StaticText(self, -1, 'Date') self.tagedit = PieTagWidget(self, -1, mode="lhorizontal") self.tagedit.setTagList(get_all_tags().keys()) self.tagedit.Bind(EVT_PIE_TAG_ADDED, self.OnTagAdded) self.tagedit.Bind(EVT_PIE_TAG_CLICKED, self.OnTagClicked) self.rtc = rt.RichTextCtrl( self, style=wx.VSCROLL|wx.HSCROLL|wx.NO_BORDER|wx.WANTS_CHARS) rtcfont = wx.Font(12, wx.FONTFAMILY_ROMAN, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL) self.rtc.SetFont(rtcfont) sizer.Add(self.titlelabel, 0, wx.EXPAND|wx.ALL, 5) font = wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD) self.titlelabel.SetFont(font) sizer.Add(self.authorlabel, 0, wx.EXPAND|wx.LEFT|wx.RIGHT, 5) sizer.Add(self.datelabel, 0, wx.EXPAND|wx.ALL, 5) sizer.Add(self.tagedit) sizer.Add(self.toolbar, 0, wx.EXPAND) sizer.Add(self.rtc, 1, wx.ALL|wx.EXPAND, 0) self.savebt = wx.Button(self, -1, _('Save')) self.donebt = wx.Button(self, -1, _('Save and Close')) lsizer = wx.BoxSizer(wx.HORIZONTAL) lsizer.Add((20,20), 1) lsizer.Add(self.savebt, 0, wx.ALL, 3) lsizer.Add(self.donebt, 0, wx.ALL, 3) sizer.Add(lsizer, 0, wx.EXPAND) self.SetSizer(sizer) self.Layout() self._do_bindings() self.savetimer = PeriodicSaveTimer(self) self.savetimer.Start(PIE_CONFIG.getint('Internal', 'minutes_between_save_notes') * 60 * 1000) wx.CallAfter(self.rtc.SetFocus)