64 lines
2.0 KiB
Python
64 lines
2.0 KiB
Python
![]() |
#!/usr/bin/env python
|
||
|
|
||
|
import gtk
|
||
|
import os
|
||
|
import subprocess
|
||
|
|
||
|
class Buglump:
|
||
|
|
||
|
def __init__(self):
|
||
|
self.builder = gtk.Builder()
|
||
|
self.builder.add_from_file('dxf.glade')
|
||
|
self.builder.connect_signals(self)
|
||
|
self.window = self.builder.get_object('main_window')
|
||
|
self.aboutdialog = self.builder.get_object("aboutdialog")
|
||
|
self.statusbar = self.builder.get_object("statusbar")
|
||
|
self.context_id = self.statusbar.get_context_id("status")
|
||
|
self.statusbar.push(self.context_id, 'No File Open')
|
||
|
self.current_folder = os.path.expanduser('~')
|
||
|
self.file_name = ''
|
||
|
self.window.show()
|
||
|
|
||
|
def on_window_destroy(self, object, data=None):
|
||
|
gtk.main_quit()
|
||
|
|
||
|
def on_file_quit(self, menuitem, data=None):
|
||
|
gtk.main_quit()
|
||
|
|
||
|
def on_file_open(self, menuitem, data=None):
|
||
|
self.fcd = gtk.FileChooserDialog("Open...", None,
|
||
|
gtk.FILE_CHOOSER_ACTION_OPEN,
|
||
|
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
|
||
|
print self.fcd.list_shortcut_folders()
|
||
|
if len(self.current_folder) > 0:
|
||
|
self.fcd.set_current_folder(self.current_folder)
|
||
|
self.response = self.fcd.run()
|
||
|
if self.response == gtk.RESPONSE_OK:
|
||
|
self.file_name = self.fcd.get_filename()
|
||
|
self.current_folder = os.path.dirname(self.fcd.get_uri()[7:])
|
||
|
self.statusbar.push(self.context_id, 'File Selected %s' % str(self.file_name))
|
||
|
self.fcd.destroy()
|
||
|
|
||
|
def on_file_convert(self, file_name, data=None):
|
||
|
if len(self.file_name) > 0:
|
||
|
print self.file_name
|
||
|
self.args = self.file_name
|
||
|
self.result = subprocess.call('dxf2gcode %s' %self.args, shell=True)
|
||
|
if self.result == 0:
|
||
|
self.statusbar.push(self.context_id, 'Processing Complete')
|
||
|
else:
|
||
|
self.statusbar.push(self.context_id, 'Error Processing %s' % str(self.file_name))
|
||
|
else:
|
||
|
self.statusbar.push(self.context_id, 'No File Open')
|
||
|
|
||
|
def on_view_test(self, item, data=None):
|
||
|
print self.current_folder
|
||
|
|
||
|
def on_help_about(self, menuitem, data=None):
|
||
|
self.response = self.aboutdialog.run()
|
||
|
self.aboutdialog.hide()
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main = Buglump()
|
||
|
gtk.main()
|