# -*- coding: utf-8 -*-
import wx
from multiplatform_widgets import widgets

class basePanel(wx.Panel):

    def set_focus_function(self, f):
        self.list.list.Bind(wx.EVT_LIST_ITEM_FOCUSED, f)

    def create_list(self):
        self.list = widgets.list(self, _(u"User"), _(u"Text"), _(u"Date"), _(u"Client"), style=wx.LC_REPORT|wx.LC_SINGLE_SEL|wx.LC_VRULES)
        self.list.set_windows_size(0, 200)
        self.list.set_windows_size(1, 600)
        self.list.set_windows_size(2, 200)
        self.list.set_windows_size(3, 200)
        self.list.set_size()

    def __init__(self, parent, name):
        super(basePanel, self).__init__(parent)
        self.name = name
        self.type = "baseBuffer"
        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.create_list()
        self.post = wx.Button(self, -1, _("Post"))
        self.boost = wx.Button(self, -1, _("Boost"))
        self.reply = wx.Button(self, -1, _(u"Reply"))
        self.fav = wx.Button(self, wx.ID_ANY, _("Favorite"))
        self.bookmark = wx.Button(self, wx.ID_ANY, _("Bookmark"))
        self.dm = wx.Button(self, -1, _(u"Direct message"))
        btnSizer = wx.BoxSizer(wx.HORIZONTAL)
        btnSizer.Add(self.post, 0, wx.ALL, 5)
        btnSizer.Add(self.boost, 0, wx.ALL, 5)
        btnSizer.Add(self.reply, 0, wx.ALL, 5)
        btnSizer.Add(self.fav, 0, wx.ALL, 5)
        btnSizer.Add(self.bookmark, 0, wx.ALL, 5)
        btnSizer.Add(self.dm, 0, wx.ALL, 5)
        self.sizer.Add(btnSizer, 0, wx.ALL, 5)
        self.sizer.Add(self.list.list, 1, wx.ALL|wx.EXPAND, 5)
        self.SetSizer(self.sizer)
        self.SetClientSize(self.sizer.CalcMin())

    def set_position(self, reversed=False):
        if reversed == False:
            self.list.select_item(self.list.get_count()-1)
        else:
            self.list.select_item(0)

    def set_focus_in_list(self):
        self.list.list.SetFocus()
