Skip to content

Instantly share code, notes, and snippets.

@brain-zhang
Forked from sdressler/gist:5450705
Created July 23, 2014 09:11
Show Gist options
  • Save brain-zhang/be65016e04f7207659d9 to your computer and use it in GitHub Desktop.
Save brain-zhang/be65016e04f7207659d9 to your computer and use it in GitHub Desktop.

Revisions

  1. @sdressler sdressler created this gist Apr 24, 2013.
    44 changes: 44 additions & 0 deletions gistfile1.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,44 @@
    import npyscreen, curses

    class StatusWidget(npyscreen.wgwidget.Widget):

    def update(self, clear=True):
    if clear == True:
    self.clear()

    self.status = npyscreen.Textfield(self.parent, rely=self.rely, relx=0, editable=1)

    def set_status(self, value):
    self.status.value = value
    self.status.update()

    class MainWidget(npyscreen.MultiLine):
    def set_values(self, values):
    self.values = values

    class MainForm(npyscreen.FormBaseNew):

    DEFAULT_X_OFFSET = 0
    BLANK_LINES_BASE = 0
    BLANK_COLUMNS_RIGHT = 0
    FRAMED = False

    def draw_form(self):
    pass

    def create(self):
    MAX_X = self.columns
    MAX_Y = self.lines

    self.add(MainWidget, rely = 0, max_height = -2)

    Status = self.add(StatusWidget, 'Status', rely = MAX_Y - 1)
    Status.set_status("New status")

    class MailerAppManaged(npyscreen.NPSAppManaged):
    def onStart(self):
    self.addForm('MAIN', MainForm)

    if __name__ == '__main__':
    MailerApp = MailerAppManaged()
    MailerApp.run()