Beispiel #1
0
    def __init__(self, deployment, *args, **kwargs):

        wx.Panel.__init__(self, *args, **kwargs)

        self.deployment = deployment
        self.SetSizer(wx.BoxSizer(wx.VERTICAL))

        self.eventLabel = wx.StaticText(self, -1, label="Events")
        self.eventLabel.SetFont(wx.Font(wx.DEFAULT, wx.DEFAULT, wx.DEFAULT, wx.BOLD))
        self.GetSizer().Add(self.eventLabel, 0, wx.ALL, 2)

        self.eventList = ItemList(
            self,
            -1,
            mappers=[
                ColumnMapper("Event", lambda e: e.state, defaultWidth=wx.LIST_AUTOSIZE),
                ColumnMapper("Time", lambda e: formatTime(e.time), defaultWidth=wx.LIST_AUTOSIZE),
            ],
            style=wx.LC_REPORT,
        )
        self.GetSizer().Add(self.eventList, 0, wx.ALL | wx.EXPAND, 2)

        self.logPanel = wx.TextCtrl(self, -1, size=(100, 100), style=wx.TE_MULTILINE)
        self.logLabel = wx.StaticText(self, -1, label="Log")
        self.logLabel.SetFont(wx.Font(wx.DEFAULT, wx.DEFAULT, wx.DEFAULT, wx.BOLD))
        self.GetSizer().Add(self.logLabel, 0, wx.ALL, 2)
        self.logLabel.Hide()
        self.logPanel.Hide()  # logPanel will be shown later on demand
        self.GetSizer().Add(self.logPanel, 1, wx.BOTTOM | wx.EXPAND, 5)
Beispiel #2
0
class EventTab(wx.Panel):
    """
    Displays Deployment events and log.
    """

    def __init__(self, deployment, *args, **kwargs):

        wx.Panel.__init__(self, *args, **kwargs)

        self.deployment = deployment
        self.SetSizer(wx.BoxSizer(wx.VERTICAL))

        self.eventLabel = wx.StaticText(self, -1, label="Events")
        self.eventLabel.SetFont(wx.Font(wx.DEFAULT, wx.DEFAULT, wx.DEFAULT, wx.BOLD))
        self.GetSizer().Add(self.eventLabel, 0, wx.ALL, 2)

        self.eventList = ItemList(
            self,
            -1,
            mappers=[
                ColumnMapper("Event", lambda e: e.state, defaultWidth=wx.LIST_AUTOSIZE),
                ColumnMapper("Time", lambda e: formatTime(e.time), defaultWidth=wx.LIST_AUTOSIZE),
            ],
            style=wx.LC_REPORT,
        )
        self.GetSizer().Add(self.eventList, 0, wx.ALL | wx.EXPAND, 2)

        self.logPanel = wx.TextCtrl(self, -1, size=(100, 100), style=wx.TE_MULTILINE)
        self.logLabel = wx.StaticText(self, -1, label="Log")
        self.logLabel.SetFont(wx.Font(wx.DEFAULT, wx.DEFAULT, wx.DEFAULT, wx.BOLD))
        self.GetSizer().Add(self.logLabel, 0, wx.ALL, 2)
        self.logLabel.Hide()
        self.logPanel.Hide()  # logPanel will be shown later on demand
        self.GetSizer().Add(self.logPanel, 1, wx.BOTTOM | wx.EXPAND, 5)

    def update(self):
        self.eventList.setItems(self.deployment.stateEvents)

    def appendLogPanelText(self, text):
        self.logPanel.AppendText(str(text) + "\n")

    def showLogPanel(self):
        self.logPanel.Show()
        self.logLabel.Show()
        self.Layout()