#!/usr/bin/env python
# --*-- coding:utf-8 --*--

import pygtk
pygtk.require('2.0')
import gtk
import re
import os,sys
import linuxcnc

class WRestart:
    def delete_event(self, widget, event, data=None):
        gtk.main_quit()
        return False
        
    def go(self):
        s = linuxcnc.stat()
        s.poll()
        filename = s.file
        f = open(filename, "r")
        lines = f.readlines()
        number_line = int(self.entry.get_text())
        string='F777\n' 
        w=0
        while not re.search("M2\s*",lines[w], re.I):
            w+=1
            if (w >= number_line):
                string+=lines[w]
        string +='M2\n'
        sys.stdout.write(string) 
        gtk.main_quit()
             
    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("restart")
        self.window.connect("delete_event", self.delete_event)
        self.window.set_border_width(20)

        self.vbox = gtk.VBox(True, 2)
        self.window.add(self.vbox)
        
        #self.entry = gtk.Label()
        #self.entry.set_text("№ line")
        #self.vbox.pack_start(self.entry, True, True, 2)
        #self.entry.show()        

        self.entry = gtk.Entry()
        self.entry.set_max_length(10)
        self.entry.set_text("№ line")
        self.vbox.pack_start(self.entry, True, True, 2)
        self.entry.show()
        
                       
        self.button = gtk.Button("Open")
        self.button.connect("clicked", lambda x: self.go())
        self.vbox.pack_start(self.button, True, True, 2)
        self.button.show()
        self.vbox.show()
        
        self.window.set_position(gtk.WIN_POS_CENTER)
        self.window.show()
        
def main():    
    gtk.main()
    return 0       
if __name__ == "__main__":
    WRestart()
    main()
    
    
